標籤:style blog http color 檔案 os
c#程式打包現在分為兩種,一種是VS內建的打包方式,還有一種是第三方的打包方式,在VS2013裡面是沒有內建打包安裝部署的,只有第三方的建立。
第三方打包方式很簡單,百度Installshield下載下來,安裝好直接運行,簡單容易懂
直接下一步下一步就可以了,不用什麼講究,說說下一種方式吧。
建立一個安裝部署解決方案,把需要的打包程式檔案都添加到引用程式檔案夾,要是想程式菜單和使用者案頭有捷徑的話就建立捷徑添加到對應的檔案裡面
自訂動作,把你想要的執行程式等添加進來
使用者介面可以添加對應的效果
選擇引用程式檔案夾屬性,把DefaultLocation的值修改一下,去掉預設的安裝路徑,不然會安裝到c:/裡面,不好找,這個也是百度查的介紹
點擊解決方案的屬性,下面有圖
找到ProductCode,這個是卸載的標識產品ID
把這個值搞到自訂動作的卸載屬性裡面,這個卸載檔案是windows/system32/路徑下面的msiexec.exe檔案,這個卸載操作本人沒有實現,裝的是windows8.1系統,不是很瞭解
接下來還有安裝時候的操作了,這個添加的是類庫項目,在CustomActionData添加/targetdir="[TARGETDIR]"/屬性,這樣類庫項目才能擷取到路徑值
1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.ComponentModel; 5 using System.Configuration.Install; 6 using System.Linq; 7 using System.Diagnostics; 8 9 10 namespace Library111 {12 [RunInstaller(true)]13 public partial class Installer1 : System.Configuration.Install.Installer14 {15 public Installer1()16 {17 InitializeComponent();18 //在所有安裝程式運行後執行19 this.AfterInstall += new InstallEventHandler(Installer_AfterInstall);20 21 }22 private void Installer_AfterInstall(object sender, InstallEventArgs e) 23 {24 //this.Context.Parameters["targetdir"] 擷取自訂動作裡面的安裝路徑,前提是要在自訂動作裡面的CustomActionData中填入/targetdir="[TARGETDIR]/"才能擷取25 string path = this.Context.Parameters["targetdir"];//擷取帶有targetdir屬性的安裝路徑26 Process.Start(path + "\\終極版俄羅斯.exe");//運行指定路徑的可執行程式27 }28 }29 }
View Code
這樣的話安裝完後會執行指定的可執行檔了,基礎的操作,圖文雖亂,功能俱全。
還需在學習,記錄。。。