2009-06-04 7 views
4

私の会社はついにコード署名証明書を購入しました。コード記号.NETアセンブリまたは設定のみ?

私はWinFormsアプリケーション(1つのexeといくつかのDLL)を持っていますが、すべてのアセンブリは既に強い名前で署名されています。その後、アプリケーション全体がmsiインストーラにパッケージ化されます。次に、NSISを使用して、msi、ブートストラップ、および前提条件(Framework、SQL CE ...)を1つのsetup.exeにパックします。

"恐ろしい" UACプロンプトを避けるために、明らかに私のsetup.exeに署名する必要があります。それで十分ですか、他のファイル、特に.NETアセンブリにも署名しますか?

アプリケーションに属する別のプロジェクトはWindowsサービスです。あなたはその組立に署名しますか?

答えて

5

悪い考えではありません。

Authoring a Fully Verified Signed Installation

あなたは、デジタル署名によって 全体のWindowsインストーラ インストールをカバーするためにこれらのガイドラインを使用することができます

。 Windowsインストーラの

著者 インストールは のすべての部分インストールが デジタル署名によってカバーされていることを確認するために、次の に従う必要があります。

  • 使用内部キャビネットファイル、または署名した外部キ​​ャビネットファイルを使用します は、 MsiDigitalSignatureテーブルと MsiDigitalCertificateテーブルを正しく作成します。
  • パッケージに格納されているカスタムアクションのみを使用するか、パッケージに をインストールしてください。
  • インストールパッケージに署名してください。
  • パッケージにMsiPatchCertificateテーブルを含めます。ユーザアカウント 制御(UAC)パッチを有効にするには、 には に使用される情報が含まれていて、 の署名者証明書を識別してパッチにデジタル署名する必要があります。 UAC パッチを適用すると、 インストールパッケージの作成者は デジタル署名付きパッチを特定できます。 は、将来非適用のユーザー によって適用されます。

インストーラ自身のために何をする必要があるかカバー上記の手順。アセンブリに署名することはあなた次第であり、別個の問題であり、別々の懸念と利点があります。アセンブリに署名する方法の詳細についてはStrong name assemblies can keep you out of DLL Hellをお読みください。

関連する問題