MsiSetProperty/MsiGetProperty メソッドを使用して、INSTALLDIR プロパティの設定/取得を試みました。ただし、InstallscriptMSI プロジェクトの場合は機能しません。ここで何が欠けていますか?
他のフォーラムで、Installshield プロパティへのアクセスが制限されている場合があることを知りました。
MsiSetProperty/MsiGetProperty メソッドを使用して、INSTALLDIR プロパティの設定/取得を試みました。ただし、InstallscriptMSI プロジェクトの場合は機能しません。ここで何が欠けていますか?
他のフォーラムで、Installshield プロパティへのアクセスが制限されている場合があることを知りました。
ノート:
MsiGetProperty および MsiSetProperty プロパティは、アクティブな .msi データベースにアクセスできず、Windows インストーラー プロパティを認識しない遅延 InstallScript カスタム アクションには使用できません。実行スクリプトに書き込まれた情報のみにアクセスできます。
例:
// Include header file for built-in functions
#include "isrt.h"
// Include header file for MSI API functions and constants
#include "iswi.h"
export prototype Func1(HWND);
function Func1(hMSI)
STRING svName;
NUMBER nvSize, nResponse;
begin
// Retrieve the user's name from the MSI database
nvSize = 256;
MsiGetProperty (hMSI, "USERNAME", svName, nvSize);
nResponse = AskYesNo ("Your name will be registered as " +
svName + ". Is this correct?", YES);
if nResponse = NO then
AskText ("Enter the name that will be registered for " +
"this product.", svName, svName);
MsiSetProperty(hMSI, "USERNAME", svName);
endif;
end;