ho una base di azione WIX personalizzato:WIX C++ personalizzato Azione
UINT __stdcall MyCustomAction(MSIHANDLE hInstaller)
{
DWORD dwSize=0;
MsiGetProperty(hInstaller, TEXT("MyProperty"), TEXT(""), &dwSize);
return ERROR_SUCCESS;
}
Inserito nel programma di installazione:
<CustomAction Id="CustomActionId" FileKey="CustomDll" DllEntry="MyCustomAction"/>
<InstallExecuteSequence>
<Custom Action="CustomActionId" Before="InstallFinalize" />
</InstallExecuteSequence>
Il problema è che, non importa quello che faccio, il hInstaller manico non è valido. Ho impostato l'azione su commit, posticipata, modificata la posizione nella sequenza InstallExecute, hInstaller non è sempre valido.
Qualsiasi aiuto sarebbe apprezzato. Grazie.
In che modo non è valido? Stai ricevendo un errore di ritorno da una chiamata API? –
Se si effettua una chiamata che utilizza l'handle, la funzione restituirà il messaggio di errore Invalid_Handle. –
ignorando la maniglia, la funzione viene chiamata correttamente? – saschabeaumont