iexpress жестко запрограммированная папка назначения для извлечения? - PullRequest
4 голосов
/ 22 марта 2011

Я использую iexpress, чтобы сделать самораспаковывающийся исполняемый файл.Есть ли способ, которым я могу жестко запрограммировать папку назначения для извлечения (предпочтительно во временную папку где-то еще), чтобы во всплывающем окне извлечения не отображалось «Пожалуйста, укажите место, куда вы хотите поместить извлеченный файл».Диалог

Ответы [ 2 ]

3 голосов
/ 05 декабря 2012

Нет прямого способа сделать это.(Вы можете увидеть мой другой ответ для более подробного объяснения.)

Самое простое решение - создать архив IExpress, который запускает "программу установки", которая на самом деле является просто пакетнойфайл, который копирует извлеченные файлы туда, где они нужны.

В IExpress вы запускаете командный файл, например: cmd /c persist.batpersist.bat выглядит примерно так:

@echo off
xcopy /y * "%temp%\persistent\"
del /f "%temp%\persistent\persist.bat"

(Последняя строка - это хитрость, чтобы скрыть тот факт, что вы использовали этот пакетный файл для копирования извлеченного архива.)

2 голосов
/ 13 декабря 2017

Да, это возможно благодаря использованию файла .INF, когда вы выбираете «Извлечь файлы и запустить команду установки».Вы должны установить файл .INF в качестве программы установки, а в разделе DestinationDirs вы должны указать путь к каталогу, в который вы хотите перейти.Вот пример файла .INF:


[version]  
signature="$CHICAGO$"

[DefaultInstall]
CopyFiles=install.files

[DestinationDirs]
install.files=-1,"C:\Program Files\MyCustomDir"

[install.files]    
MyFile1.txt
MyFile2.bmp

Таким образом, этот пример показывает, что установщик будет установлен в C: \ Program Files \ MyCustomDir.Файлы в файле install.files должны содержать список всех файлов, которые вы хотите скопировать в эту папку.Они должны быть включены в ваш установщик, когда вы выбираете файлы для добавления.

...