0

VS2010 と WIX 3.5 を使用しています。

1) WIX セットアップ プロジェクトを作成しました。

2) 次に、ソリューション C# カスタム アクション プロジェクトに追加し、「CustomActions」と呼びました。

 namespace CustomActions
 {
   public static class CustomActions
   {
     [CustomAction]
     public static ActionResult CustomAction1(Session session)
     {
         Debugger.Break();
         MessageBox.Show("It works");
         session.Log("Begin CustomAction1");
         return ActionResult.Success;
     }
   }
 }

3) 次に、CustomActions プロジェクトをコンパイルし、セットアップ プロジェクトから参照を追加しました。

4) そして最後に .wxs ファイルに入れます:

 <Binary Id="CustomActions"  SourceFile="$(var.CustomActions.TargetDir)$(var.CustomActions.TargetName).CA.dll"/>

 <CustomAction Id="CustomAction1" BinaryKey="CustomActions" DllEntry="CustomAction1" Execute="immediate" />

それはうまくいきません。私は何を間違っていますか?私を助けてください。

4

1 に答える 1

1

また、実行するカスタム アクションをスケジュールする必要があります

   <InstallUISequence>
      <Custom Action="CustomAction1" After="AppSearch"/>
   </InstallUISequence>

また、MSI サンドボックスで実行すると多くのことが制限されることに注意する必要があります。MessageBox.Show への呼び出しが機能するとは思えません。代わりに、セッション ログに依存する必要があります。

于 2010-07-07T08:38:39.103 に答える