檔案 '<file>' 未簽署

檔案 '<file>' 未簽署。部署專案中包含已被取代的簽署屬性。如需詳細資訊,請參閱 [說明]。

在 Visual Studio 2003 (含) 以前的版本中可以使用的簽署功能,已經從安裝及部署專案 ([安裝] 專案、[Web 安裝] 專案、[封包] 專案和 [合併模組]) 中移除了。 如果您將已啟用簽署的 Visual Studio 2003 專案匯入 Visual Studio 2005 中,或者如果您想要為部署專案啟用簽署,則必須在建置後事件中使用 Signtool.exe (Windows Platform SDK 中的組件簽署工具) 在建署輸出中簽署檔案。 如需詳細資訊,請參閱SignTool.exe (簽署工具)

在簡單的案例中,並不會有鬆散的檔案,只有啟動載入應用程式 (setup.exe) 和/或套件檔案,它們會建置輸出 (Windows Installer 套件、.cab 檔或合併模組)。 在此案例中,您會在建置後事件對話方塊中叫用 (Invoke) Signtool.exe。

在進階的案例中,組成部署的檔案可能是鬆散的,這表示在建置輸出中的檔案較多,而不是只有啟動載入應用程式和 Windows Installer 套件。 通常您會希望簽署這些額外的鬆散檔案,並使用每個已簽署元件的雜湊程式碼來更新 Windows Installer 套件。 此動作必須在會執行指令碼的建置後事件中完成,才能執行下列動作:

  1. 逐一查看建置輸出路徑中的鬆散檔案集和 CAB 檔,並使用 Signtool.exe 簽署它們。

  2. 在 Windows Installer 套件中,更新您已簽署的每個檔案的雜湊程式碼。

  3. 簽署啟動載入應用程式並使用 Signtool.exe 簽署 Windows Installer 套件。

若要校正簡單案例中的這個錯誤

  • 在建置後事件對話方塊中叫用 Signtool.exe。

    <SDK 安裝目錄>Signtool sign –f "檔名.pfx" –p "密碼" $(BuiltOuputPath)\Setup2.msi

    <SDK 安裝目錄>Signtool sign –f "檔名.pfx" –p "密碼" $(BuiltOuputPath)\setup.exe

如果您的憑證儲存在 .pvk 和 .spc 檔中,您可以使用 Windows Platform SDK 工具 pvk2pfx.exe,將這些檔案的格式轉換為 .pfx。

請參閱

參考

部署專案屬性對話方塊、組態屬性、建置

SignTool.exe (簽署工具)