VS2010程序打包與自定義操作(詳細(xì)步驟版)_第1頁
VS2010程序打包與自定義操作(詳細(xì)步驟版)_第2頁
VS2010程序打包與自定義操作(詳細(xì)步驟版)_第3頁
VS2010程序打包與自定義操作(詳細(xì)步驟版)_第4頁
VS2010程序打包與自定義操作(詳細(xì)步驟版)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、VS2010打包 安裝部署這里簡(jiǎn)單介紹如何在VS2010開發(fā)環(huán)境下制作安裝項(xiàng)目,其中包括如何設(shè)置開機(jī)啟動(dòng)、刪除注冊(cè)表及安裝后自動(dòng)運(yùn)行,加上卸載功能。1、  創(chuàng)建安裝項(xiàng)目    打開VS2010,點(diǎn)擊菜單上的“文件”>>“新建”>>“項(xiàng)目”,彈出如下對(duì)話框。     如上圖所示,在“其他項(xiàng)目類型”中選擇“安裝項(xiàng)目”,根據(jù)自己的需求命名,這里命名為“MySetup”,選擇保存路徑。這樣就創(chuàng)建了一個(gè)安裝項(xiàng)目。2、 在安裝項(xiàng)目中添加其他應(yīng)用程序項(xiàng)目點(diǎn)擊菜單上的

2、“文件”>>“添加”>>“現(xiàn)有項(xiàng)目”,彈出如下對(duì)話框。    這里選擇之前已經(jīng)做好的一個(gè)WPF應(yīng)用程序項(xiàng)目3、 將可執(zhí)行文件(.exe)、類庫(.dll文件)及所需圖片加入安裝項(xiàng)目中右擊“MySetup”>>“視圖”>>“文件系統(tǒng)”,主窗口顯示文件系統(tǒng)界面,如下圖    右擊“應(yīng)用程序文件夾”>>“添加”>>“項(xiàng)目輸出”,彈出如下對(duì)話框。    在“項(xiàng)目”選項(xiàng)中選擇“DataServiceHos

3、t”,按住“Ctrl”鍵,選中“主輸出”,單擊“確定”。再右擊“應(yīng)用程序文件夾”>>“添加”>>“文件夾”,命名為“Images”,在“Images”中放入應(yīng)用程序需要的圖片,右擊“Images”>>“添加”>>“文件”,在彈出的對(duì)話框中添加所需的圖片。4、 創(chuàng)建快捷方式在“應(yīng)用程序文件夾”中右擊“主輸出來自DataServiceHost(活動(dòng))”,如下圖。   點(diǎn)擊“創(chuàng)建 主輸出來自DataServiceHost(活動(dòng))的快捷方式”,將快捷方式重命名為“我的WPF應(yīng)用程序”,這里可以根據(jù)需要命名。在“文件

4、系統(tǒng)”中的“用戶的“程序”菜單”添加文件夾“我的WPF應(yīng)用程序”,這里可以根據(jù)需求命名,將之前“我的WPF應(yīng)用程序”快捷方式剪切到該文件夾中。同理可以在“文件系統(tǒng)”中的“用戶桌面”中創(chuàng)建快捷方式。(在用戶桌面中不要添加文件夾)5、 實(shí)現(xiàn)安裝程序卸載這里直接引用了Windows系統(tǒng)中自帶的一個(gè)卸載程序,該卸載程序在“C:/Windows/System32”文件夾中,名稱為“msiexec.exe”,右擊“應(yīng)用程序文件夾”>>“添加”>>“文件”,將“msiexec.exe”加入“應(yīng)用程序文件夾”中    同步驟4,創(chuàng)建卸載

5、程序的快捷方式,這里建議不要在“用戶桌面”中創(chuàng)建卸載程序,難看!重點(diǎn),“卸載快捷方式”的屬性“Argument”值設(shè)為“/x710AD120-3D4C-430D-A9FA-A1D504465CC8”,其中“710AD120-3D4C-430D-A9FA-A1D504465CC8”為產(chǎn)品編號(hào)(ProductCode),可在“MySetup”屬性框口中找到。左擊“MySetup”(不是右擊),再點(diǎn)擊屬性窗口,如下圖?!癙roductName”屬性值就是上述的“710AD120-3D4C-430D-A9FA-A1D504465CC8”。6、 改變各快捷方式的圖標(biāo)這里只拿“我的WPF應(yīng)用程序

6、快捷方式”為例,其他同理。在“應(yīng)用程序文件夾”中的“Images”中添加需要的“.ico圖標(biāo)”,這里添加一個(gè)“mywpf.ico”圖標(biāo)。如下圖。右擊“我的WPF應(yīng)用程序快捷方式”>>“屬性窗口”,屬性窗口如下圖。設(shè)置“Icon”屬性,選擇“Images”中的“mywpf.ico”圖標(biāo)。7、 實(shí)現(xiàn)開機(jī)啟動(dòng)右擊“MySetup”>>“視圖”>>“注冊(cè)表”,主窗口顯示如下圖。   在“HKEY_LOCAL-MACHINE”文件夾下新建鍵“Software”>>“Microsoft”>>“Windows

7、”>>“CurrentVersion”>>“Run”,在“Run”文件夾新建字符串值,命名為“DataServiceHost.exe”,可根據(jù)需求命名,右擊“DataServiceHost”>>“屬性窗口”,其中“Value”屬性設(shè)為“TARGETDIR DataServiceHost.exe”。如此,便實(shí)現(xiàn)了開機(jī)啟動(dòng)。8、 實(shí)現(xiàn)安裝后自動(dòng)運(yùn)行及刪除注冊(cè)表實(shí)現(xiàn)這兩個(gè)功能就需要一些技巧,左鍵點(diǎn)擊“解決方案”選中,然后點(diǎn)擊菜單上的“文件”>>“添加”>>“新建項(xiàng)目”,如下圖。選擇“類庫”項(xiàng)目類型,點(diǎn)擊確定即可在解決方案中添加一個(gè)

8、類庫項(xiàng)目。右鍵點(diǎn)擊該類庫項(xiàng)目>>“添加”>>“新建項(xiàng)”,如下圖。選擇“安裝程序類”,命名為“Installer”。在“Installer.cs”代碼中重寫如下方法:/ <summary>        / 函數(shù)入口主函數(shù)        / </summary>        public static void

9、 Main()                        public Installer1()                    Initialize

10、Component();                / <summary>        / 重寫安裝完成后函數(shù)        / 實(shí)現(xiàn)安裝完成后自動(dòng)啟動(dòng)已安裝的程序        /

11、 </summary>        / <param name="savedState"></param>        protected override void OnAfterInstall(IDictionary savedState)           &#

12、160;        base.OnAfterInstall(savedState);                / <summary>        / 重寫安裝過程方法       

13、60;/        / </summary>        / <param name="stateSaver"></param>        public override void Install(IDictionary stateSaver)    &

14、#160;               base.Install(stateSaver);                protected override void OnBeforeInstall(IDictionary savedState)   

15、60;                base.OnBeforeInstall(savedState);                / <summary>        / 重寫卸載方

16、法        / </summary>        / <param name="savedState"></param>        public override void Uninstall(IDictionary savedState)    &#

17、160;               base.Uninstall(savedState);                / <summary>        / 重寫卸載完成后函數(shù) &

18、#160;      / 實(shí)現(xiàn)安裝完成后自動(dòng)刪除注冊(cè)表        / </summary>        / <param name="savedState"></param>        protected override void

19、OnAfterUninstall(IDictionary savedState)                    base.OnAfterUninstall(savedState);                / <summ

20、ary>        / 重寫回滾方法        / </summary>        / <param name="savedState"></param>        public override vo

21、id Rollback(IDictionary savedState)                    base.Rollback(savedState);        這里對(duì)protected override void OnAfterInstall(IDictionary savedState)和prote

22、cted override void OnAfterUninstall(IDictionary savedState)進(jìn)行如下自定義操作(當(dāng)然也可以對(duì)其它方法進(jìn)行自定義以實(shí)現(xiàn)其它功能)。protected override void OnAfterInstall(IDictionary savedState)                    base.OnAfterInstall(saved

23、State);            Assembly asm = Assembly.GetExecutingAssembly();            string path = asm.Location.Remove(asm.Location.LastIndexOf("") + ""  

24、60;         try                            System.Diagnostics.Process.Start(path + "DataServiceHost.exe")

25、;                        catch (Exception my)                      

26、60;     throw new Exception(my.Message);                    protected override void OnAfterUninstall(IDictionary savedState)        

27、60;           base.OnAfterUninstall(savedState);            RegistryKey hklm = Registry.LocalMachine;            RegistryKey

28、run = hklm.CreateSubKey("SoftwareMicrosoftWindowsCurrentVersionRun");            try                        &#

29、160;   run.DeleteValue("DataServiceHost.exe");                run.Close();                hklm.Close();  

30、                      catch (Exception my)                        

31、0;   throw new Exception(my.Message);                    自定義操作完成后,一定要將該類庫程序生成,這樣就可以得到“.dll”文件。生成成功后,將該類庫程序集添加到安裝項(xiàng)目中。右擊“MySetup”>>“視圖”>>“文件系統(tǒng)”,主窗口如下圖。右鍵點(diǎn)擊“應(yīng)用程序文件夾”>>“添加

32、”>>“項(xiàng)目輸出”,如下圖所示,選擇該類庫項(xiàng)目為“主輸出”,點(diǎn)擊確定。然后,將該類庫程序集添加到自定義操作中,右擊“MySetup”>>“視圖”>>“自定義操作”,主窗口如下圖。右擊“安裝”>>“添加自定義操作”,彈出如下對(duì)話框。點(diǎn)擊打開“應(yīng)用程序文件夾”,選擇ClassLibrary2,點(diǎn)擊右側(cè)“添加輸出”。這樣便實(shí)現(xiàn)了安裝后自動(dòng)運(yùn)行和卸載后刪除注冊(cè)表的功能。9、自定義安裝。在安裝過程中實(shí)現(xiàn)對(duì)配置文件(config.dat)的復(fù)制,并在安裝過程中允許用戶輸入串口配置參數(shù),實(shí)現(xiàn)對(duì)配置文件的修改。右擊“MySetup”>>“視圖”>

33、;>“用戶界面”,主窗口如下圖。右鍵單擊“啟動(dòng)”>>“添加對(duì)話框”>>“文本框(A)”,點(diǎn)擊確定。左鍵點(diǎn)擊上圖中的“文本框(A)”,在右側(cè)屬性窗口中設(shè)置要顯示的提示符與文本框名稱等信息,如下圖所示,本示例中只配置和顯示了三個(gè)文本框(屬性名分別為COMM、COML和COMR)。實(shí)現(xiàn)效果如下圖所示。然后,在右擊“MySetup”>>“視圖”>>“自定義操作”,如下圖單擊步驟8中添加的類庫,在其右側(cè)顯示的屬性“CustomActionData”中寫入“/comm=COMM /coml=COML /comr=COMR /targetdir=&quo

34、t;TARGETDIR"”,如此便可以自定義類庫與安裝程序之前的變量傳遞。其中targetdir傳遞的是程序安裝目錄。最后,在步驟8中installer.cs中的OnAfterInstall函數(shù)中,增加具體的操作代碼。如下。public const string FILENAME = "C:config.dat"System.Runtime.InteropServices.DllImport("Kernel32.dll", CharSet = System.Runtime.InteropServices.CharSet.Unicode)publ

35、ic static extern bool WritePrivateProfileString(string sAppName, string sKeyName, string sValue, string sFileName);protected override void OnAfterInstall(IDictionary savedState)string comm = "10" string coml = "11" string comr = "12" string currentDir = "" if (!Strin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論