gora
Прежде всего, сорри, что не успел сегодня выложить обновление. Постараюсь завтра часам к 8-9 МСК.
По вопросам.
1.
Цитата:
Есть ли разница использования ExecuteFile и RunProgram в вашем модуле (кроме необходимого параметра ExecuteParameters)? Если RunProgram годиться и для первого и второго, из перечисленного в справке к 7-Zip, то можно ли обходиться одними RunProgram?
|
Разницы
почти никакой, можно обходится и одним RunProgram. Единственная разница (это будет в обновленном завтра) - для ExecuteFile необязательны дополнительные кавычки даже для имен с пробелами (там же может быть
только имя исполняемого файла).
Параметр ExecuteParameters необязателен, он нужен только в том случае, если небходимо передать что-то в командной строке для ExecuteFile. При множественном использовании ExecuteFile и применении
хотя бы для одного из них ExecuteParameters, необходимо их делать парами, пусть даже какие-то будут пустыми, примерно так:
Код:

ExecuteFile="File1.exe"
ExecuteParameters="/parameter1"
ExecuteFile="File2.exe"
ExecuteParameters=""
ExecuteFile="File3.exe"
ExecuteParameters="/parameter3"
2.
Да все так же...
Код:

AutoInstall="AutoInstall_1.exe /a"
AutoInstall="AutoInstall_2.exe /b"
...
AutoInstall5="AutoInstall_5_1.exe"
AutoInstall5="AutoInstall_5_2.exe"
Здесь логика простая - ищем первый указанный параметр (будь то какой-то из AutoInstall'ов, RunProgram и т.д.) и выполняем то, что в нем указано. Смотрим дальше в файле конфигурации, есть ли еще параметр с
таким же именем. Если есть - исполняем, смотрим дальше... И так до конца файла конфигурации.
3.
Цитата:
Что реально дополнительно дает использование параметра Directory? Мы же вроде обходились без него раньше?
|
Я и сам, собственно, не знаю зачем Игорь его сделал. Все что указано в этом параметре просто добавляется перед RunProgram, т.е.
Код:

RunProgram="notepad.exe"
Directory="C:\\Windows\\system32\\"
Равносильно
Код:

RunProgram="C:\\Windows\\system32\\notepad.exe"
4.
Цитата:
Действует ли для RunProgram
Цитата:
Значение по умолчанию - "setup.exe"
|
Нет, не действует. Я специально это убрал, чтобы можно было просто распаковывать в указанную папку ничего не исполняя.
Цитата:
и последовательность поиска файла
Цитата:
1 Директория из которой приложение (инсталлятор) загружено.
2 Временная директория, куда были распакованы файлы.
3 Системная директория Windows.
как в 7-zip?
|
Здесь Игорь немножко обманул. Вот последовательность поиска для функции CreateProcess виндовозного API:
Цитата:
1. The directory from which the application loaded.
2. The current directory for the parent process.
3. Windows 95/98/Me: The Windows system directory. Use the GetSystemDirectory function to get the path of this directory.
Windows NT/2000 or later: The 32-bit Windows system directory. Use the GetSystemDirectory function to get the path of this directory. The name of this directory is System32.
4. Windows NT/2000 or later: The 16-bit Windows system directory. There is no Win32 function that obtains the path of this directory, but it is searched. The name of this directory is System.
5. The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
6. The directories that are listed in the PATH environment variable.
|
У меня - все так же, т.к. функция одна и таже

.
5.
Цитата:
Есть ли ключ командной строки для подавления вывода FinishMessage? Если нет то вроде нужен (для универсальности sfx-архива), примите заявку.
|
Если FinishMessage не указан - ничего не будет выведено. А вот для автоустановок - да... Надо подумать... Может сделать, чтобы вывод автоматически подавлялся при любом AutoInstall ?