2013-06-28 59 views
0

我正在使用Visual Studio的標準安裝程序。在我的解決方案構建過程中,DLL被修改並重新簽名。我希望將修改的DLL複製到同一解決方案中的安裝程序,以便將其安裝在目標機器上。該DLL應該在目標機器的GAC中結束。將編譯時間修改的DLL安裝到目標計算機GAC

有沒有辦法在一個構建過程中做到這一點?每個構建都修改DLL。

回答

0

使安裝兩個組件使用相同的文件。 一個作爲全球大會,一個作爲私人大會。

這些鏈接應該是有幫助的: http://blogs.msdn.com/b/astebner/archive/2005/06/24/432521.aspx

而且

http://msitekkie.wordpress.com/2011/02/03/installing-net-assemblies/

希望幫助

+0

感謝您的輸入,但我不知道如何跟進博客文章。我認爲我的問題還不清楚,希望我的編輯能讓它更容易理解。 – rcell

+1

我不知道我現在明白你的問題了,你已經更新了:)。現在看來,我需要MSBuild和WiX。我已經使用了比MSBuild更多的WiX,但它們是相當大的主題。希望幫助! – BillH

1

要部署的組件安裝到目標計算機GAC與Web安裝項目,我們可以拖動裝配到全局程序集緩存文件夾(右鍵單擊目標計算機上的文件系統,單擊添加特殊文件夾,然後單擊全局程序集緩存文件夾)。欲瞭解更多信息,請參閱http://support.microsoft.com/kb/324168

我們也可以嘗試運行一些腳本以通過安裝項目的自定義操作中的目標計算機上的Gacutil工具(http://support.microsoft.com/kb/315682)註冊程序集。

自定義操作示例,請參見http://weblogs.asp.net/scottgu/archive/2007/06/15/tip-trick-creating-packaged-asp-net-setup-programs-with-vs-2005.aspx

+0

我想我可以嘗試使用Publish.GacInstall(),目標機器不會有gacutil.exe。但是現在我不知道如何將構建時間創建的DLL添加到設置負載,以便目標機器可以訪問它。 – rcell