Dal argomento MSDN sequencing custom actions:
Come nel caso delle azioni standard, azioni personalizzate che sono in programma l'InstallUISequence o corsa AdminUISequence solo se l'interfaccia utente interna è impostato sulla a livello intero.
Quindi immagino che l'azione personalizzata sia pianificata in una sequenza UI, non in InstallExecuteSequence
. Prova la pianificazione l'azione personalizzata nella InstallExecuteSequence
come questo:
<InstallExecuteSequence>
<Custom Action='LaunchApplication' After='InstallFiles'/>
</InstallExecuteSequence>
dove "LaunchApplication" dovrebbe essere sostituita dalla Id
del vostro elemento CustomAction
.
modifica: ho guardato il instructions che hai seguito e non vedo l'azione personalizzata per avviare l'applicazione pianificata in qualsiasi sequenza. Viene attivato solo da un'azione dell'interfaccia utente (facendo clic sul pulsante Fine). Questo spiega perché non viene mai eseguito durante un'installazione invisibile all'utente.
modificare: intero campione (è un po 'sciatto come si cerca anche di eseguire l'azione personalizzata sulla disinstallazione, riparazione ecc, ma per qualche motivo non ho potuto ottenere la condizione "non installato" al lavoro)
<?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>
fonte
2009-12-11 22:37:53
Nota: sto utilizzando una proprietà denominata LAUNCHAPPONEXIT per controllare l'azione personalizzata che avvia la mia applicazione. E il suo valore predefinito è 1. – deerchao
Ecco l'approccio che sto utilizzando per il lancio dopo l'installazione: http://www.dizzymonkeydesign.com/blog/misc/adding-and-customizing-dlgs-in-wix-3/ – deerchao