Windows Installer - MsiGetProperty
Verfasst: 28.12.2004 14:36
Hi Leute,
kann mir mal irgendeiner einen Tipp geben, wie ich den folgenden C++ Code nach PureBasic umschreiben kann:
Das ganze wird als DLL in eine Windows Installer installation eingebaut (zum überprüfen einer Seriennummer), allerdings bricht der Installer immer beim Aufruf von MsiGetProperty ab...
Da ich nicht wirklich Ahnung von C++ habe hoffe ich mal das mir hier einer weiterhelfen kann
Danke schonmal im vorraus!
Gruss
Chrono aka Alex
kann mir mal irgendeiner einen Tipp geben, wie ich den folgenden C++ Code nach PureBasic umschreiben kann:
Code: Alles auswählen
UINT __stdcall ValidateSerial_Sample(MSIHANDLE hInstall)
{
TCHAR szPidKey[PIDKEY_LENGTH];
DWORD dwLen = sizeof(szPidKey)/sizeof(szPidKey[0]);
//retrive the text entered by the user
UINT res = MsiGetProperty(hInstall, _T("PIDKEY"), szPidKey, &dwLen);
if(res != ERROR_SUCCESS)
{
//fail the installation
return 1;
}
bool snIsValid = false;
//validate the text from szPidKey according to your algorithm
//put the result in snIsValid
TCHAR * serialValid;
if(snIsValid)
serialValid = _T("TRUE");
else
{
//eventually say something to the user
MessageBox(0, _T("Invalid Serial Number"), _T("Message"), MB_ICONSTOP);
serialValid = _T("FALSE");
}
res = MsiSetProperty(hInstall, _T("SERIAL_VALIDATION"), serialValid);
if(res != ERROR_SUCCESS)
{
return 1;
}
//the validation succeeded - even the serial is wrong
//if the SERIAL_VALIDATION was set to FALSE the installation
//willl not continue
return 0;
}
Da ich nicht wirklich Ahnung von C++ habe hoffe ich mal das mir hier einer weiterhelfen kann

Danke schonmal im vorraus!
Gruss
Chrono aka Alex