installshield с пользовательским действием - PullRequest
4 голосов
/ 17 ноября 2011

Я создаю базовый MSI-проект с использованием installsheild 2012 Premier.У меня две проблемы.

1.) MSI необходимо запустить специальный exe-файл после того, как он создал папки и файлы устанавливаемого приложения.Это нужно сделать только один раз при установке приложения.

2.) MSI также должен указать, какой пользовательский исполняемый файл запускается, на каком языке выбрал пользователь для запуска MSI.

Я понятия не имею о проблеме 2. Что касается проблемы1 Вот моя попытка, описанная ниже:

Как я сейчас его настроил, он запускается один раз в самом начале, даже не создавая файлы и папки продукта.Ниже приведены мои настройки

enter image description here

и нажмите «Далее», чтобы перейти к экрану ниже ....

enter image description here

Теперь,чтобы запустить пользовательский exe-файл только после создания файлов и папок, если я изменю выполнение In-Script с «Immediate Execution» на «Commit Execution» в первом изображении выше и перейду к следующему экрану, тогда я получаюследующая ошибка с любой комбинацией, которую я пробовал enter image description here

Пожалуйста, помогите мне здесь.Спасибо за ваше время.

1 Ответ

5 голосов
/ 17 ноября 2011

Для In-Script Execution комбо вы должны использовать отсроченное или коммит выполнение.Если для вашего настраиваемого действия требуются права администратора, его следует отложить или зафиксировать в Системный контекст .

Отложенные или зафиксированные действия не выполняются в InstallUISequence, поэтому Вставить в последовательность В диалоговом окне убедитесь, что Установить UI Sequence Комбо установлен на:

<Absent from sequence>

Отложенные действия выполняются до InstallFinalize .Поскольку вы хотите запускать пользовательское действие после установки файлов, вы можете установить Установить последовательность выполнения в виде:

After InstallFiles

Язык установки хранится в ProductLanguage имущество.Таким образом, вы можете использовать его непосредственно в командной строке настраиваемого действия, например:

[ProductLanguage]

Это свойство содержит идентификатор языка.Вы можете найти список идентификаторов здесь: http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx

...