私はWindowsサービスを持っており、その実行時にWindowsサービスのインストール場所に入れ子になったログファイルを記録します。私はアンインストール時にのみ上記のファイルを削除するカスタムアクションを作成しようとしています。しかし、実行時に "INSTALLLOCATION is invalid directory"エラーが表示されます。私は、カスタムアクションを実行すると、「=の後に」?」句で変更する必要があると仮定していますが、私はそれがどうあるべきかわからない。INSTALLLOCATIONが設定されているアンインストール時のCustomAction
をこれは.wxsは、ファイルの現在のコードである
<Binary Id="CustomActionEXE" SourceFile="$(var.MyApp.TargetDir)MyApp.CA.dll" />
<CustomAction Id="RemoveLogFilesCA" BinaryKey="CustomActionEXE" DllEntry="RemoveLogFiles" Execute="immediate" Return="check"/>
<InstallExecuteSequence>
<Custom Action="RemoveLogFilesCA" After="RemoveFiles">
(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
</Custom>
</InstallExecuteSequence>
とカスタムアクションコード
public class CustomActions
{
[CustomAction]
public static ActionResult RemoveLogFiles(Session session)
{
// Error here: "INSTALLLOCATION is an invalid directory", value not set when the custom action is being executed After="RemoveFiles"
//string installLocation = session.GetTargetPath("INSTALLLOCATION");
return ActionResult.Success;
}
}