vs2008安裝部署工程制作教程[圖文]

2. 添加安裝類。在新建的Library里面添加一個(gè) Installer Class,名字我暫時(shí)定為MyInstallerClassDll
3. 重寫基類的函數(shù)
Commit
Install
OnAfterInstall
OnAfterRollback
OnAfterUninstall
OnBeforeInstall
OnBeforeRollback
OnBeforeUninstall
OnCommitted
OnCommitting
Rollback
Uninstall
每個(gè)函數(shù)對應(yīng)的是安裝過程中的不同時(shí)期。
我暫時(shí)重寫了Commit函數(shù),但是還沒有自己的實(shí)現(xiàn)。
public override void Commit(System.Collections.IDictionary savedState)
{
base.Commit(savedState);
}
4. 新建一個(gè)setup工程,在Other Project Types里面,并且下拉框選中Add to Solution。我暫時(shí)命名為setup. 當(dāng)然這個(gè)前提是你有一個(gè)想安裝的程序。 或者有你想制作安裝程序的編譯后的文件。
5. 添加源程序文件。
切換Setup工程的視圖為File System
左鍵點(diǎn)擊Application Folder.這個(gè)文件夾就是放源程序文件的。User’s Desktop是放桌面快捷方式的,User’s Programs Menu是定義開始菜單的。
在右邊空白的地方右鍵選中添加項(xiàng)目輸出文件
下面下來列表選中你要安裝的程序,比如我要安裝的是 WpfSetup。按住Ctrl鍵選中Primary output和 Contetn Files,點(diǎn)擊OK鍵。這樣就把需要安裝的程序的編譯后的主要文件都添加進(jìn)來了。當(dāng)然也可以手動(dòng)添加進(jìn)來如上圖選中Add->File然后瀏覽到你的release或者是debug后的文件夾,然后選中主要文件添加進(jìn)來。
6. 創(chuàng)建快捷方式。在剛剛添加的Primary output from WpfSetup(Active) 上面點(diǎn)擊右鍵,選擇創(chuàng)建快捷方式,然后重命名。
把這個(gè)重命名的文件用鼠標(biāo)左鍵托到User’s Desktop文件夾里面,這樣的話就會在桌面上面生成一個(gè)快捷方式,然后再自定義開始菜單的結(jié)構(gòu),安裝通常的做 法,我們在User’s Programs Menu文件夾里面新建一個(gè)文件夾用于放置我們安裝卸載以及幫助手冊之類的快捷方式。我定 義的文件夾是WPFSample,快捷方式的添加參照User’s Desktop里面快捷 方式的添加。
這樣的話安裝程序的文件結(jié)構(gòu)已經(jīng)完成了。
7. 設(shè)置系統(tǒng)必備屬性。
在setup工程上面點(diǎn)擊右鍵選擇屬性。
點(diǎn)擊 Prerequisites,在彈出的對話框里面選擇如下圖所示的選項(xiàng),一定要選擇Download prerequisites from the same location as my application. 當(dāng)然你也可以根據(jù)你的SDK選擇不不同的版本。如果你選擇的是3.5 Sp1。
如果在編譯的過程中出現(xiàn)了The install location for prerequisites has not been set to 'component vendor's web site' and the file 'dotNetFx35setup.exe' in item 'Microsoft.Net.Framework.3.5.SP1' cannot be located on disk.這樣的錯(cuò)誤你就需要進(jìn)行如下操作:
1. 打開[Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\
DotNetFx35SP1 文件夾,在x64 操作系統(tǒng)上是 %ProgramFiles(x86)% \Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1
2. 修改Product.xml文件,在<PackageFiles>節(jié)點(diǎn)里面添加下 列內(nèi)容,然后保存。
<PackageFile Name="TOOLS\clwireg.exe" />
<PackageFile Name="TOOLS\clwireg_x64.exe" />
<tPackageFile Name="TOOLS\clwireg_ia64.exe" />
3. 打開這個(gè)網(wǎng)址http://go.microsoft.com/fwlink?LinkID=118080,下載dotNetFx35.exe
4. 打開命令提示符窗口(DOS窗口),并且進(jìn)入你下載的dotNetFx35.exe的文件夾
5. 執(zhí)行下面這個(gè)命令dotNetFx35.exe /x:。注意/x后面有個(gè)冒號呢。
6. 把解壓后的WCU\dotNetFramework里面的文件(如下圖)拷貝到上面路徑提到的DotNetFx35SP1文件夾下面
如果還有問題
1. 在Product.xml找到 <PackageFile Name="dotNetFX30\XPSEPSC-x86-en-US.exe" 然后修改 PublicKey 的值為: 3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9 706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E39589 77609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B6 6B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001
2.找到<PackageFile Name="dotNetFX30\XPSEPSC-amd64-en-US.exe" 按照上面的步驟修改。
8.設(shè)置安裝程序的屬性
在setup工程上面右鍵點(diǎn)擊選擇屬性。如下圖。可以選擇需要修改的屬性,比如語言,作者和制造商以及安裝程序的名字等等。
9.Rebuild 這個(gè)安裝部署工程,然后在debug或者release文件里面找到安裝文件,比如我的是WPFSample.msi. 雙擊就可以運(yùn)行了。
10. 自定義安裝界面
在setup工程上面點(diǎn)擊右鍵選擇用戶界面視圖
打開后如下圖,可以看到安裝分 下面三個(gè)部分,Start, Progress, End.我們可以在任意一個(gè)部分添加任意一個(gè)窗口。有些窗口需要用戶輸入?yún)?shù)的,這樣的話就需要在后臺獲得這些 參數(shù),這樣就需要我們開始建立的CustomAction類了。
11. 自定義安裝行為,選中一個(gè)你添加的對話框,比如我選中的是TextBoxes (A),它有四個(gè)輸入框
我只需要兩個(gè)所以第三個(gè)和第四 個(gè)的Visible屬性都是false. 然后定義第一個(gè)和第二個(gè)輸入框的屬性名字,我定義的是NAME和PASSWORD。
切換到Customs Actions視圖
在Install和Commit文件上面右鍵添加上面定義的那個(gè)Custom Action.當(dāng)然這個(gè)Primary output已經(jīng)添加到了Application Folder里面了(添加方法參照上文)。這個(gè)也可以就是那個(gè)工程的.dll文件。
選擇Install或者Commit文件里面的CustomAction文件,查看屬性
在CustomActionData屬性里面輸入?yún)?shù)名稱和值例如/name=[NAME]這個(gè)表達(dá)式的意思就是定義一個(gè)變量名字是name值是前面添加的那個(gè)對話框的屬性名稱并用[]括起來。這樣就可以在自定義安裝類里面得到了。方法如下:
string name = this.Context.Parameters["name"].ToString();
string pass = this.Context.Parameters["password"].ToString();
這樣就得到了輸入框的值。然后 在進(jìn)行一些邏輯操作。也可以拋出一個(gè)異常來終止安裝過程,并回滾。
throw new Exception("Invalidate name");
回滾和卸載的程序我們也可以自定義,道理都是一樣的 。
12. 實(shí)現(xiàn)卸載
找到msiexec.exe這個(gè)文件,通常在C:\WINDOWS 下面
添加到Application Folder里面修改名字為Uninstall.exe(也可以不修改)。
創(chuàng)建快捷方式,移到User’s Programs Menu下 面的自定義的那個(gè)文件夾下面如WPFSample文件下面
然后打開屬性窗口,設(shè)置Arguments值為 /x ProductCode
這個(gè)ProductCode值在 Setup工程的屬性頁可以看到
這樣就完成了卸載程序了。
相關(guān)文章
WebStorm如何調(diào)試Vue項(xiàng)目? webstorm配置vue開發(fā)環(huán)境指南
WebStorm 支持多種調(diào)試工具,包括瀏覽器的開發(fā)者工具,但本文主要講解的是使用 WebStorm 自帶的調(diào)試功能2025-04-15VSCode和webstorm怎么設(shè)置綠色護(hù)眼背景? 綠豆沙背景色的設(shè)置方法
護(hù)眼色一定程度能保護(hù)眼睛,緩解疲勞,VSCode和webstorm這兩款常用的軟件怎么設(shè)置護(hù)眼色呢?詳細(xì)請看下文介紹2025-04-15WebStorm常用插件以及實(shí)用設(shè)置分享
WebStorm本身已經(jīng)足夠強(qiáng)大,但一些優(yōu)秀的插件能錦上添花,顯著提升開發(fā)效率,詳細(xì)請看下文介紹2025-04-15如何安裝配置WebStorm? WebStorm安裝與使用全方位指南
WebStorm軟件在前端和后端開發(fā)領(lǐng)域都備受青睞,很多朋友不知道該怎么下載安裝,下面我們就來看看詳細(xì)的安裝配置教程2025-04-15Webstorm怎么配置? Webstorm入門之軟件配置教程
WebStorm是一款功能強(qiáng)大的集成開發(fā)環(huán)境(IDE),支持各種前端開發(fā)技術(shù),今天我們就來看看Webstorm的配置教程2025-04-15Webstorm怎么設(shè)置字體大小/背景顏色/背景圖片?
WebStorm 允許您自定義界面顏色,以創(chuàng)建更個(gè)性化和美觀的工作空間,今天我們就來看看Webstorm改變字體大小、背景顏色、設(shè)置背景圖片的方法2025-04-15- VScode上安裝PlatformIO插件能成功安裝,嘗試卸載VScode并刪除插件,這些錯(cuò)誤仍然存在,下面我們就來看看這個(gè)問題的解決辦法2025-04-03
提升代碼搜索效率! VSCode里DeepSeek插件安裝與配置指南
今天我們將向大家介紹如何在Visual Studio Code中安裝并配置 DeepSeek 插件,幫助你更高效地進(jìn)行代碼搜索2025-04-07提升你的編程效率! VSCode的初級使用教程超詳細(xì)版
VSCode是一款免費(fèi)且開源的代碼編輯器,因其強(qiáng)大的功能和良好的用戶體驗(yàn)而廣受歡迎,本文將詳細(xì)介紹 VSCode 的基本使用方法,并通過插圖幫助你更好地理解2025-04-03- 今天我們來聊聊如何安裝和配置VS Code,讓它成為你編程路上的得力助手,這個(gè)過程其實(shí)很簡單,只要跟著我的步驟走,你絕對能搞定2025-04-03