Ответ 1
Из темы msdn в последовательность пользовательских действий:
Как и в случае стандартных действий, пользовательские действия, запланированные в InstallUISequence или Администрирование выполняется только в том случае, если внутренний пользовательский интерфейс установлен на полный уровень.
Итак, я предполагаю, что ваше пользовательское действие запланировано в последовательности пользовательского интерфейса, а не в InstallExecuteSequence
. Попробуйте настроить свое настраиваемое действие в InstallExecuteSequence
следующим образом:
<InstallExecuteSequence>
<Custom Action='LaunchApplication' After='InstallFiles'/>
</InstallExecuteSequence>
где "LaunchApplication" следует заменить на Id
вашего элемента CustomAction
.
edit. Я посмотрел на инструкции, которые вы выполнили, и я не вижу настраиваемого действия для запуск приложения, запланированного в любой последовательности. Он запускается только из действия пользовательского интерфейса (нажатие кнопки "Готово" ). Это объясняет, почему он никогда не выполняется во время бесшумной установки.
edit: полный образец (он немного неаккуратный, поскольку он также пытается выполнить пользовательское действие при удалении, восстановлении и т.д., но по какой-то причине я не смог получить условие "НЕ установлен" работа)
<?xml version='1.0' encoding='utf-8'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<Product
Name='ProductName'
Id='*'
Language='1033'
Version='0.0.1'
Manufacturer='ManufacturerName' >
<Package
Keywords='Installer'
Description='Launch application demo'
Manufacturer='ManufactererName'
InstallerVersion='100'
Languages='1033'
Compressed='yes'
SummaryCodepage='1252'/>
<Media Id='1' Cabinet='test.cab' EmbedCab='yes'/>
<Directory Id='TARGETDIR' Name="SourceDir">
<Directory Id='ProgramFilesFolder'>
<Directory Id='TestFolder' Name='Test' >
<Component Id="ExeComponent" Guid="*">
<File Id="ExeFile" Source="c:\windows\notepad.exe" />
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id='Complete'
Display='expand'
Level='1'
Title='Test'
Description='Test'>
<ComponentRef Id="ExeComponent" />
</Feature>
<InstallExecuteSequence>
<Custom Action='LaunchInstalledExe' After='InstallFinalize'/>
</InstallExecuteSequence>
<CustomAction Id="LaunchInstalledExe"
FileKey="ExeFile"
ExeCommand=""
Execute="immediate"
Impersonate="yes"
Return="asyncNoWait" />
</Product>
</Wix>