爲不同應用客戶生成發佈包

圖解發布過程

首先,選擇要發佈的項目,右點擊選擇“屬性”,然後選擇“發佈”選項頁,如下圖所示:
image001.jpg

要發佈軟件,首先弄明白好以下幾項

l發佈位置

也就是程序發佈生成的文件存放在哪裏。這些路徑可以是URL、共享文件夾、本機絕對路徑。

l安裝URL

也就是當用用戶需要安裝此軟件時應該訪問的路徑,將在這裏下載文件進行安裝。這裏路徑必須是URL。此路徑一般爲服務器的IIS站點路徑。例如你發佈的程序存放在本機IIS站點http://localhost:8000/AnthorTest/。但發佈後的程序要放到客戶的服務器裏,如果客戶的服務器的IIS站點在局域網裏的路徑爲http://192.168.1.174:8012/Setup。則安裝URL應該輸入這路徑。

當客戶需要安裝軟件時,只需要訪問此路徑,點擊“安裝”後即會有安裝的過程提示。

爲不同應用客戶生成發佈包

當爲不同客戶生成發佈包時,可以按上述步驟重新生成一僕發佈包。但缺點是很明顯的:有可能客戶很多;可能軟件完成後開發環境不一定完整保存,而按上述步驟重新需要完整的開發環境;不同客戶使用的應用程序相同,所不同其實就只是安裝路徑。

所以,最好能利用現有的發佈包爲不同的客戶生成發佈包。下面介紹如何在不重新生成應用程序的情況下利用現有的發佈包爲不同用戶生成發佈包。

可參考MSDN的“手動部署ClicokOnce應用程序”。但對於ClickOnce發佈不熟悉者一般不贊成完全使用手動發佈。應該使用上上述步驟生成發佈包後再按下面的介紹爲不同用戶生成不同的用戶發佈包。

準備工作

l確定部署的類型

如果部署類型需要在使用CD自動運行安裝,必然包括Setup.exe文件,並且此文件包括了一些部署信息,無法修改。所以此時則必須爲不同的用戶重新生成新的發佈包。

如果不是使用CD自動運行安裝,可以在現有發佈包的基礎上爲不同客戶生成不同的發佈包。請繼續往下看。

l處理Setup文件

如果不是採用CD自動運行安裝的形式。可以不包括此Setup.exe 文件。可以把它刪除。

l處理publish.htm文件

Public.htm文件的“安裝”按鈕默認鏈接到Setup.exe文件。請修改爲連接到“部署清單”文件。

如:把HREF="setup.exe"

修改爲HREF="ClickOnceExample.application"

同時,因爲使用VS2005IDE生成ClickOnce部署包時會默認更新publish.htm文件,其實此文件可以不重新生成,除非只有一個客戶。當需要爲publish.htm文件加入相應的內容更更新相應的內容,可以修改publish.htm的源文件。爲了保持publish.html文件不變,請在“選項”處取消“每次發佈後都自動生成部署網頁(G)”選項。

生成應用程序清單

應用程序清單一般位於版本文件。命名格式爲:全稱.exe.manifest。此文件存儲了此應用程序部署時應該包括的文件。

如果沒有發佈包裏的文件(此版本文件夾裏的全部文件)作修改,則不需要對應用程序清單進行處理。

如果對發佈包的的任何文件作了修改,如修改了應用程序配置文件裏的內容。則需要重新生成新的應用清單。此時,用工具mageui.exe(此工具爲.net sdk2.0自帶,同時在項目“ClickOnceExample”項目下的“工具”文件夾裏有保存)打開相應的應用程序清單,然後“保存”。保存時會要求籤名,開發者可選擇相應的證書文件,一般選擇應用程序第一次發佈時生成的證書文件(使用VS2005IDE發佈ClickOnce應用程序時,會自動生成一個證書文件)。

同時需要說明一下的是,發佈包的文件默認使用deloy作爲文件的後綴,主要是防止用戶修改而造成必須重新生成應用程序清單。而有時爲不同客戶生成發佈包需要修改相應的文件,所以可以在“選項”處取消“使用deloy文件擴展名”選項。

生成部署清單

爲不同客戶生成不同的發佈包,關鍵是部署清單,它決定了安裝時從何處安裝。這個文件必須重新生成。

使用工具mageui.exe打開相應的部署清單,修改相應的選項,其中需要修改一般爲以下選項:StartLocationApplication Reference。其中StartLoation指明瞭安裝時指向的部署清單,應該爲站點的完整路徑+部署清單名,如:http://192.168.1.75/ClickOnceExample/ClickOnceExample.applicationApplication Reference指明瞭所指向的應用程序清單,應該選擇相應版本文件夾裏應用程序清單。然後保存。保存時要求籤名,此時切記使用剛纔應用程序清單簽名時相同的證書文件。

部署清單的編輯如下圖。部署清單編輯完成後,原來的發佈包即爲新的客戶的發佈包,直接把此發佈包部署即可。


image017.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章