2011-05-18 2 views
0

CopyFiles установщика NSIS отображает различные «окна состояния Windows операции копирования» при копировании разных папок, но я хочу, чтобы только один статус будет показано, будет ли я копировать одну или две или пять папок, например, в Windows, когда мы выбираем две папки, тогда отображается только одно окно КОПИРОВАНИЯ СТАТУСА, в котором отображается ход операции копирования для обеих папок.копировать папки с помощью установщика nsis, отображать только одно окно состояния для копирования нескольких папок, копировать несколько папок вместе

Возможно ли это? Я хочу скопировать несколько папок, но показывать только одно окно состояния операции копирования.

ответ

1

Вы не можете сделать это с помощью CopyFiles, который допускает только один путь «от». Вот три варианта:

  • Вы смогли сделать первый, проверьте флаг ошибки, чтобы увидеть, если пользователь отменил его, и если он не установлен использовать /SILENT на второй.

  • Вы можете использовать /SILENT на обоих (лично я никогда не использую CopyFiles без/SILENT, как я не хочу пользователем, чтобы иметь возможность отменить).

  • Если вы действительно этого хотите, вы можете сделать это с помощью прямого вызова DLL - я не знаю, какая функция была бы, и я ожидаю, что вам понадобится построить строку с нулевым разделом с двойным нулевым символом, все это неудивительно с NSIS. Я сомневаюсь, что вы подумаете, что это того стоит. Если вы действительно хотите это сделать, для строки с нулевым разделением используйте NullByte.nsh, которую мы в PortableApps.com писали для Launcher PortableApps.com (для работы с kernel32 :: GetPrivateProfileSection - мы с тех пор перешли на разбор INI-файла в чистом NSIS, поскольку он быстрее и не глючит, мы также будем использовать для работы с услугами).

Смежные вопросы