Отправить в сжатую (zip) папку из NSIS - PullRequest
0 голосов
/ 05 июня 2011

Есть ли способ программно отправить (один файл) в сжатую (заархивированную) папку из сценария NSIS?

В моем поиске я нашел ссылку на открытие такой папки с помощью:

rundll32.exe zipfldr.dll,RouteTheCall %filename%

Но я не смог найти обратное.

Я также нашел ссылки на создание сжатой (или заархивированной) папки путем написания полноценной программы на C ++,VB, C # или VJ #, но это не то, что меня интересует. Меня интересует простой вызов из сценария NSIS.

Возможно ли это вообще?

1 Ответ

1 голос
/ 05 июня 2011

Хотя возможно , можно использовать функцию CompressedFolder для создания zip-файлов, а NSIS может вызывать нативные интерфейсы API и COM, но я не могу сказать, что это будет хорошей идеей. Некоторые люди не любят функцию CompressedFolder и отключают ее. Вероятно, лучше включить в программу установки zip-средство командной строки и вызвать его.

Итак, чтобы ответить на вопрос; да, это возможно, но вызов COM из NSIS является большой болью, и код сломался бы на машинах, где функция CompressedFolder была отключена.

...