(轉)VS製作安裝包

來源:互聯網
上載者:User

標籤:

 

項目的第一個版本出來了,要做個安裝包,之前沒有做過,網上看看貼,寫了一個,總結下,根據本項目的需要,沒有寫的太複雜,可能還不是很完善,僅作參考。

首先在開啟 VS2010    》   檔案 》建立項目

建立一個安裝項目  XXX  

在“目標電腦上的檔案系統”下我們看見有“應用程式檔案夾”,“使用者的‘程式’菜單”,“使用者案頭”。 在“應用程式檔案夾”右擊添加檔案夾(即安裝後所在安裝路徑下產生的包含程式相關組件的檔案夾)

 

本列中添加了“測試安裝程式檔案夾”,在“測試安裝程式檔案夾”上右擊,選擇“添加”根據項目需要 ,將所有程式所需要的組件都添加進去,本例中 將XXX.exe  ,XXX.dll ,表徵圖等檔案添加

要實現卸載功能的話,需要將  C:\Windows\System32\msiexec.exe  程式也添加到    測試安裝程式檔案夾  中,然後在進一步操作

接下來,分別給主程式  XXX.exe 和 msiexec.exe  建捷徑

同理在  使用者程式菜單   中添加一個檔案夾 ,並將  XXX.exe 和 msiexec.exe  的捷徑 剪下到 該檔案夾下,這樣在使用者點擊 開始 菜單 後 就會看見我們安裝程式的檔案,提供了運行程式的捷徑和卸載該程式的捷徑。

 

接下來設定卸載程式的參數 :在 解決方案下 ,單擊該安裝項目名稱 ,進入其  屬性  頁面 ,找到其 ProductCode 的屬性值,將屬性值複製下,本例中該屬性值為:{226D41BC-A197-41B0-9156-2EC489089D99} (即本安裝軟體的ID)

 

 

然後在  卸載程式所建的捷徑   的屬性頁面上 的 Arguments 屬性項  ,將其值賦值為  :/x{226D41BC-A197-41B0-9156-2EC489089D99}  ,/x 為命令 ,後面跟此安裝的軟體的ID ,這樣,卸載程式才能知道運行時該卸載那個軟體。

 

 

最後,在 使用者案頭   添加 主程式的 捷徑

 

最後我們還要設定一下相關屬性,由於此軟體是在.Net 下開發的,所以如果目標電腦上並沒有安裝相應的.Net 庫檔案,則安裝後程式仍然無法運行,因此,需要設定此安裝程式的屬性,選中此安裝程式,右擊 ,進入  屬性 頁面。

 

單擊  系統必備  

 

程式會自動識別所需要的.Net庫檔案和安裝程式,預設即可,在  指定系統必備組件的安裝位置    選項,第一項的意思是,在安裝時,若目標電腦沒有.Net庫檔案的話,安裝程式將提示使用者從網上下載相應的.Net庫檔案。第二項的意思是 ,直接從本機電腦上將相應的.Net庫檔案拷貝到 此安裝程式的 Debug 目錄下,在目標電腦安裝時,若安裝程式檢測到電腦未安裝.Net庫檔案,則先安裝.Net庫檔案,再安裝該軟體,無需下載.Net庫檔案。 因此我的程式中選擇第二項,單擊  確定。

最後 產生該安裝包, 在Debug 目錄下 找到 setup.exe 檔即是我們的安裝包。

最基本的安裝程式就是這些,如果複雜的大型應用可能涉及到 註冊表及啟動條件,安裝引導介面等屬性的設定,我們在  安裝程式  右擊  選擇   視圖   ,可以在裡面進行相關設定,這裡不再詳述,以後根據需要再補充。小功告成,不足之處,歡迎大家指正...

(轉)VS製作安裝包

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.