Mam podstawowe WIX niestandardową akcję:WIX C++ klienta Action
UINT __stdcall MyCustomAction(MSIHANDLE hInstaller)
{
DWORD dwSize=0;
MsiGetProperty(hInstaller, TEXT("MyProperty"), TEXT(""), &dwSize);
return ERROR_SUCCESS;
}
dodany do instalatora:
<CustomAction Id="CustomActionId" FileKey="CustomDll" DllEntry="MyCustomAction"/>
<InstallExecuteSequence>
<Custom Action="CustomActionId" Before="InstallFinalize" />
</InstallExecuteSequence>
Problemem jest to, że bez względu na to, co zrobisz, hInstaller uchwyt nie jest ważny. Ustawiłem akcję, aby zatwierdzić, odłożyć, zmienić miejsce w sekwencji InstallExecute, hInstaller jest zawsze niepoprawny.
Każda pomoc zostanie doceniona. Dzięki.
W jaki sposób jest ona nieważna? Czy otrzymujesz błąd z połączenia API? –
Jeśli wykonam wywołanie, które używa uchwytu, funkcja zwróci komunikat o błędzie Invalid_Handle. –
ignorując uchwyt, czy sama funkcja jest wywoływana poprawnie? – saschabeaumont