VS 製做安裝包小窺

可貴忙裏偷閒,看到有關VS製做安裝包,按下文小試一把,還行,比不上Installshield。web

首先在打開 VS2010    》   文件 》新建項目安全

建立一個安裝項目  XXX    app

在「目標計算機上的文件系統」下咱們看見    應用程序文件夾,用戶程序菜單 ,用戶桌面  , 在  應用程序文件夾  右擊添加文件夾(即安裝後所在安裝路徑下生成的包含程序相關組件的文件夾)測試

 

本列中添加了  測試安裝程序文件夾   ,在   測試安裝程序文件夾  上右擊  ,選擇 添加,根據項目須要 ,將全部程序所須要的組件都添加進去,本例中 將XXX.exe  ,XXX.dll ,圖標等文件添加spa

 

要實現卸載功能的話,須要將  C:\Windows\System32\msiexec.exe  程序也添加到    測試安裝程序文件夾  中,而後在進一步操做orm

接下來,分別給主程序  XXX.exe 和 msiexec.exe  建快捷方式ci

 

同理在  用戶程序菜單   中添加一個文件夾 ,並將  XXX.exe 和 msiexec.exe  的快捷方式 剪切到 該文件夾下,這樣在用戶點擊 開始 菜單 後 就會看見咱們安裝程序的文件,提供了運行程序的快捷方式和卸載該程序的快捷方式。開發

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

 

 

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

 

最後,在 用戶桌面   添加 主程序的 快捷方式

最後咱們還要設置一下相關屬性,因爲次軟件是在.Net 下開發的,因此若是目標計算機上並無安裝相應的.Net 庫文件,則安裝後程序仍然沒法運行,所以,須要設置此安裝程序的屬性,選中此安裝程序,右擊 ,進入  屬性 頁面。

 

單擊  系統必備  

 

 

程序會自動識別所須要的.Net庫文件和安裝程序,默認便可,在  指定系統必備組件的安裝位置    選項,第一項的意思是,在安裝時,若目標計算機沒有.Net庫文件的話,安裝程序將提示用戶從網上下載相應的.Net庫文件。第二項的意思是 ,直接從本地計算機上將相應的.Net庫文件拷貝到 此安裝程序的 Debug 目錄下,在目標計算機安裝時,若安裝程序檢測到計算機未安裝.Net庫文件,則先安裝.Net庫文件,再安裝該軟件,無需下載.Net庫文件。 所以個人程序中選擇第二項,單擊  肯定。

最後 生成該安裝包, 在Debug 目錄下 找到 setup.exe 文件便是咱們的安裝包。

 

最基本的安裝程序就是這些,若是複雜的大型應用可能涉及到 註冊表及啓動條件,安裝引導界面等屬性的設置,咱們在  安裝程序  右擊  選擇   視圖   ,能夠在裏面進行相關設置。

 

使用Installshield時,遇到過文件無權限修改,VS也是存在,按照下文處理:

問題:在本地計算機上能夠實現對應用程序的初始化配置,但在裸機上安裝程序後,沒法進行初始化配置,程序報錯:對路徑「×××」訪問拒絕 ;一查,是權限問題,在邏輯上一

普通用戶的身份,運行程序是沒法獲取操做配置文件的權限。在網上搜了下解決方法,以下:

首先打開   項目的屬性頁  進入 「 安全性 」 一欄   ,勾選 「啓用ClickOnce安全設置

 

接下來會發如今  解決方案中的  Properties  中發現   app.manifest   文件,

雙擊 打開 該文件

而後 再將 「啓用ClickOnce安全設置」 取消勾選 ,從新編譯 程序便可,通過修改後的程序,在安裝後運行是以管理員身份運行,就不存在 拒絕訪問的問題了。

相關文章
相關標籤/搜索