1

Visual Studioを使用して作成されたexeとdllを含むインストーラーを作成しましたが、コードを追加できますか?

たとえば、インストール時に3〜4行のコードを実行したいだけです。

1-一意のキーを使用してMacアドレスをデータベースに追加します。

同様に、アンインストール時にデータベースからMACアドレスを削除します。

これは、デフォルトのセットアッププロジェクトを使用するこの現在のシナリオで可能ですか?

4

2 に答える 2

2

インストーラーにはを使用する必要がありCustomActionます。これにより、プログラム、スクリプトの実行、レジストリキーの作成などを行うことができます。これは、カスタムインストーラークラスを使用してインストール中にメッセージを表示する簡単な例です(VB.NETの場合ですが、簡単に翻訳できます)。

Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)
  MyBase.Install(stateSaver)
  Dim myInput As String = Me.Context.Parameters.Item("Message")
  If myInput Is Nothing Then
    myInput = "There was no message specified"
  End If
  MsgBox(myInput)
End Sub

サンプルを完全に再現するには、リンクの手順に従う必要があります。

于 2013-01-16T15:18:18.603 に答える
0

.NETインストーラークラスを使用して、デフォルトのセットアッププロジェクトからそれらを接続することができます。一部のメソッドをオーバーライドすると、インストール/アンインストール時に呼び出されます。これを行う方法のチュートリアルは次のとおりです。

そうは言っても、多くの人がこれらの.NETインストーラークラス(およびデフォルトのセットアッププロジェクト)を完全に嫌い、WIXまたはInstallShieldベースのプロジェクトを使用して真のカスタムアクションを実装します。

正確に何をしたいのか、いつ実行したいのかに応じて、.NET依存関係も導入します。たとえば、.NETがインストールされていることを確認している場合、ユーザーが.NETをまだインストールしていないと、.NETカスタムアクションからこれを行うことはできません。

カスタムアクションの追加は、少し滑りやすい坂道です。インストーラーをカスタマイズできることに人々が気付くと、ますます多くのことをするように求められるでしょう。その時点で、より柔軟なツール(WIX(オープンソース)またはInstallShield($))を使用することが理にかなっている場合があります。

于 2013-01-16T15:18:35.200 に答える