lua
いくつかのカスタム アクション スクリプト ( & )を使用して、MSI Factory でビルドされた msi インストーラーがありvbs
ます。スクリプトの 1 つは、パッケージからカスタム プロパティを取得し、インストールが正常に完了した後でそれをファイルに書き込もうとします。このカスタム プロパティはMSI.ChangeMSIProperty
、ダウンロードがパラメーターで要求されたときに、asp.NET ハンドラーを介してダウンロードされたパッケージに追加されます。問題は、プロパティの変更によって msi ファイルの署名が壊れたため、msi ファイル名にデータを追加しようとすることです。これを処理するには、vbscript を変更する必要があります。しかし、インストーラーのファイル名を取得できません。
Dim data, tokens
Dim fso, f
Dim setupExeFilename, setupExeFilenameParts
data = Session.Property("CustomActionData")
tokens = Split(data,"|")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile(tokens(0) & "\\data.txt", True)
if tokens(1) = "_DEFAULT_" then
setupExeFilename = Session.Property("SETUPEXENAME")
setupExeFilenameParts = Split(data,".")
f.Write setupExeFilenameParts(UBound(setupExeFilenameParts) - 1)
else
f.Write tokens(1)
end if
f.Close
どこかで見つけましSession.Property("SETUPEXENAME")
たが、うまくいきません。Session、Session.Property、Session.ProductProperty、Installer でいくつかのプロパティを検索しましたが、まだ運がありません。試してみるとインストーラーオブジェクトは存在しますが、必要なものを返すプロパティはありません。
If not Installer is nothing then
msgbox "Installer ok"
msgbox Installer.version
end if
インストーラーのファイル名を取得することはできますか?