InstallShield

01061 : InstallScript カスタムアクション内から SUPPORTDIR を取得する方法

InstallScript カスタムアクション内から SUPPORTDIR を参照しても、サポートファイルに指定されたパスが
取得できません。


対象製品:InstallShield 12以降
対象プロジェクト:基本の MSI プロジェクト、InstallScript MSI プロジェクト


[概要]
InstallShield12 からアーキテクチャが変更となり、InstallScript カスタムアクション内から SUPPORTDIR を
直接参照した場合、InstallScript のセットアップ関連ファイルが格納されたパスが取得されるようになります。

InstallShield11.5 以前と同様にサポートファイルに指定されたファイルの格納パスを取得するためには、
Windows Installer の SUPPORTDIR プロパティを参照する必要があります。
SUPPORTDIR プロパティは、InstallScript 内から直接参照することができないため、MsiGetProperty 関数を
使用して取得します。


以下は、MsiGetProperty() 関数を使用し、InstallScript 内から SUPPORTDIR プロパティを取得するサンプルです。

--------------------------------------------------------------------
STRING svDir[256];
NUMBER nBuffer;

begin

nBuffer = 256;
MsiGetProperty(ISMSI_HANDLE, "SUPPORTDIR", svDir, nBuffer);
MessageBox("SUPPORTDIR = " + svDir, INFORMATION);

end;
---------------------------------------------------------------------

MsiGetProperty 関数やプロパティの取得方法に関しては、製品のヘルプライブラリで以下の内容もご参照ください。

「MsiGetProperty」
「ISMSI_HANDLE」
「プロパティの取得と設定」


[備考]
InstallShield12 アーキテクチャの変更については、以下の記事をご参照ください。

HOWTO: Upgrading Projects to InstallShield 12


検索文字列:InstallScript、カスタムアクション


2007/04/10 19:54:58
2019/05/22 14:34:51