2010-12-01 62 views
2

InstallShieldプロジェクトでは、インストールでパッケージ化された特定のファイルを条件付きで実行する必要があるVBScriptカスタムアクションがあります。InstallShieldのVBScriptカスタムアクションでセットアップ場所を見つける方法は?

は、通常、私は、このような

それが返された場合、インストール開始のSetup.exeの場所は、動作するはずです、
sCurPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".") 

などのコードを使用してVBSの現在のディレクトリを取得します。

しかし、インストールを実行しているとき、私が予想していたSetup.exeファイルの場所ではなく、現在のパス(XP上)はC:\ Windows \ system32です。私のInstallShieldビルドの出力を想定し

は、以下の

私はVBScriptのカスタムアクションから「\ OtherReqs \ ConditionallyRunMe.exe」実行することができますどのように
Disk1 
->Setup.exe 
->ISSetupPrerequisites 
-->Req1 
-->Req2 
-->... 
->OtherReqs 
-->ConditionallyRunMe.exe 

のように見えますか?

ありがとうございます!

(注:InstallShieldを使用してexeファイルを条件付きで実行する方法があることがわかりましたが、この場合、VBScriptカスタムアクションの戻り値を条件として使用する方法がない限りInstallShieldでは要件がサポートされません。別のファイルを実行していますか?)

答えて

5

私はそれを手に入れました(実際にはInstallShieldのマニュアルで見つかりましたが、Googleではありません)。

のVBScriptのこのラインはどこ史上セットアップexeファイルへのトリック

disk1Path = Session.Property("SETUPEXEDIR") 

ポイント上記の行をされたん、そこからどのexeファイルを実行するために些細ですので、あなたのインストールメディアに含まれています。それはMSIの標準特性に優れたリファレンス(だけでも、リスト)を見つけることは難しい、なぜ私が過去ここに参照のため

'points to app data\downloaded install directory 
MsgBox Session.Property("SourceDir") 
'where the software wants to install to on the users system 
MsgBox Session.Property("INSTALLDIR") 

わからないですよ私が見つけた

他の有用なもの、。私が見つけた最も近いものはwas thisでしたが、それらのすべてが機能しているわけではありません(InstallShieldでは特にそうではありません)。もし誰かがMIS Standardのプロパティとその説明に関する文書と良いリンクを見つけたら、ここにリンクを追加してください。だから誰もこれほど多くの時間を無駄にしないでください:)。

+1

これらは何ですか? http://kb.flexerasoftware.com/doc/Helpnet/InstallShield2011/IHelpPropReference.htm http://msdn.microsoft.com/en-us/library/aa370905.aspx –

+0

@Michaelまさに私が探していたもの! +1、ありがとう! – Evan

関連する問題