ファイル '<ファイル>' は署名されていませんでした

更新 : 2007 年 11 月

エラー メッセージ

ファイル '<ファイル>' は署名されていませんでした配置プロジェクトには、推奨されていない署名プロパティが含まれています。詳細については、ヘルプを参照してください。

Visual Studio 2003 以前で使用できた署名機能は、セットアップおよび配置プロジェクト (セットアップ プロジェクト、Web セットアップ プロジェクト、CAB プロジェクト、マージ モジュール) から削除されました。署名を有効にした Visual Studio 2003 プロジェクトを Visual Studio 2005 にインポートする場合、または配置プロジェクトで署名を有効にする場合は、ビルド後のイベントで、Signtool.exe (Windows プラットフォーム SDK 内のアセンブリ署名ツール) を使用してビルド出力のファイルに署名する必要があります。詳細については、「署名ツール (SignTool.exe)」を参照してください。

単純な例では、圧縮しないファイルがなく、ブートストラップ アプリケーション (setup.exe) と、ビルドによって出力されたパッケージ ファイル (Windows インストーラ パッケージ、.cab ファイル、またはマージ モジュール) の両方または一方だけがあります。今回の例では、ビルド後のイベントのダイアログ ボックスで Signtool.exe を呼び出します。

高度なシナリオでは、配置を構成するファイルを圧縮しないことがあります。この場合は、ブートストラップ アプリケーションや Windows インストーラ パッケージよりも、ビルド出力のファイル数の方が多くなります。通常は、これらの圧縮しないファイルに署名し、それぞれの署名付きコンポーネントのハッシュ コードを使用して Windows インストーラ パッケージを更新します。この処理を行うには、ビルド後のイベントで以下を行うスクリプトを実行します。

  1. ビルド出力パスの一連の圧縮しないファイルと CAB ファイルを反復処理し、Signtool.exe を使用して署名します。

  2. Windows インストーラ パッケージ内で、署名した各ファイルのハッシュ コードを更新します。

  3. Signtool.exe を使用してブートストラップ アプリケーションに署名し、Windows インストーラ パッケージに署名します。

単純な例でこのエラーを修正するには

  • ビルド後のイベントのダイアログ ボックスで Signtool.exe を呼び出します。

    <SDK Install dir>Signtool sign –f "filename.pfx" –p "password" $(BuiltOuputPath)\Setup2.msi

    <SDK Install dir>Signtool sign –f "filename.pfx" –p "password" $(BuiltOuputPath)\setup.exe

証明書が .pvk ファイルおよび .spc ファイルに保存されている場合は、Windows プラットフォーム SDK の pvk2pfx.exe というツールを使用して、これらのファイル形式を .pfx に変換します。

参照

参照

配置プロジェクトの [プロパティ ページ] ダイアログ ボックス ([構成プロパティ] - [ビルド])

署名ツール (SignTool.exe)