копировать папки с помощью установщика nsis, отображать только одно окно состояния для копирования нескольких папок, копировать несколько папок вместе - PullRequest
0 голосов
/ 18 мая 2011

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

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

1 Ответ

1 голос
/ 18 мая 2011

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...