




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)用工外包合同
- 投資管理服務(wù)合同
- 實(shí)驗(yàn)室在突發(fā)公共衛(wèi)生事件中的作用和任務(wù)(143)-行政管理
- 多時(shí)區(qū)時(shí)間同步處理辦法
- 促進(jìn)用戶持續(xù)回訪的激勵(lì)計(jì)劃
- 工程付款三方協(xié)議
- 2025年湛江年貨運(yùn)資格證考試題
- 合租房間出租協(xié)議書
- 介紹工程居間協(xié)議書
- 2025年信陽a2貨運(yùn)從業(yè)資格證考試
- 遼寧省沈陽市名校2024年中考物理模擬試題含解析
- 初中英語不規(guī)則動(dòng)詞表(譯林版-中英)
- 車輛維修、保養(yǎng)審批單
- 科普版六年級(jí)下冊(cè)英語全冊(cè)教學(xué)課件
- 電力系統(tǒng)的微電網(wǎng)區(qū)域規(guī)劃管理
- 智能割草機(jī)器人的概述外文翻譯
- 井下作業(yè)工:初級(jí)井下作業(yè)工考試答案二
- 學(xué)生心理健康一生一策檔案模板
- 《胸外按壓》課件
- 2024屆南通二模(又蘇北七市二模)數(shù)學(xué)試題
- 北師大版六年級(jí)下冊(cè)書法練習(xí)指導(dǎo)教案教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論