2010-01-18 62 views
2

我有一個應用程序,我已經部署了一年多的版本。我沒有任何問題,構建應用程序,但今天,當我嘗試發佈它,我得到了以下錯誤:MS Visual Studio C#2008 Express Edition中的點擊一次部署問題

An error occurred while signing: Failed to sign bin\Release\app.publish\\setup.exe. SignToolError: 
ISignedCode::Sign returned error: 0x80880253 
    The signer's certificate is not valid for signing. 
SignToolError: An error occurred while attempting to sign: bin\Release\app.publish\\setup.exe 

我檢查了我有SP1的.NET 3.5框架。我不確定爲什麼這個突然停止工作,除非我有一個證書有效期只有一年,而且自從我第一次安裝VS 2008以來已經有一年了。但是,最近我能夠在上週發佈,所以它是肯定是這周改變了。

它可能已過期的證書是什麼,以及如何使用新證書更新證書?

回答

4

幫我出了同樣的情況:

http://may.be/renewcert/

它理應只能用VS2005發生,但是,像你一樣,我有這種事發生與我已經部署.NET 3.5 SP1項目從VS2008一年。也許它使用的是我以前在此計算機上安裝VS2005時創建的證書(不記得)。

該修復是一個痛苦,因爲你必須下載VC++ Express編譯項目,但在我的情況下,它是值得的,以防止有80個用戶需要卸載並重新安裝應用程序。現在我很好,直到2014年。

2

如果您處於活動目錄環境(我們大多數.NET開發人員),那麼您應該可以使用certmgr.msc從域控制器請求代碼簽名證書。

如果你沒有一個值得信賴的CA,那麼我根本就不打擾簽署代碼。

您可以在項目屬性中找到簽名設置,發佈選項卡上方的一個或兩個選項卡 - 您可以在其中選擇是否簽署ClickOnce清單和/或程序集本身。這就是您目前過期的證書可能被引用的地方。

相關問題