機能のパッチ リリースでカスタム アクションに値を渡す必要があります。私はいくつかの調査を行い、次のことを行いました。
<CustomAction Id="CustomAction1" Property="customaction2" Value="Value1" />
<CustomAction Id="customaction2" BinaryKey="Binary.dll"
DllEntry="Functionname" Impersonate="no"
Execute="immediate" Return="check" />
また、次のように installExecuteSequence を更新しました。
<Custom Action='CustomAction1' After="InstallFinalize"><![CDATA[PATCH]]></Custom>
<Custom Action='customaction2' After="CustomAction1"><![CDATA[PATCH]]></Custom>
また、componentref を patch.wxs ファイルに追加しました。
<CustomActionRef Id="CustomAction1.PackageGuid"/>
<CustomActionRef Id="customaction2.PackageGuid"/>
このパラメーター値にアクセスするために、customaction "Functionname" で次のコードを試しました。
var value = session.Property["CustomActionData"];
「値」は空です。デバッグを行ったところ、以下のコードから値を取得していることがわかりました。
var value = session.Property["customaction2.PackageGuid"];
packageGuids を使用してプロパティにアクセスする例も見たことがありません。最初のアプローチ(「CustomActionData」を使用)がうまくいかない理由がわかりません。私が欠けているものを教えてもらえますか?
また、packageGuids を使用しても害はありますか? そうでない場合は、この方法で続行する予定です。他のstを試す必要がある場合はお知らせください