亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

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

2020-06-27 15:39:02
字體:
來源:轉載
供稿:網友
1.新建一個Class Library, 例如Name 為 CustomAction. 這個就是一個自定義安裝行為的類。

vs2008,安裝部署

2.       添加安裝類。在新建的Library里面添加一個 Installer Class,名字我暫時定為MyInstallerClassDll

  vs2008,安裝部署

3.       重寫基類的函數

    Commit

Install

OnAfterInstall

OnAfterRollback

OnAfterUninstall

OnBeforeInstall

OnBeforeRollback

OnBeforeUninstall

OnCommitted

OnCommitting

Rollback

Uninstall

每個函數對應的是安裝過程中的不同時期。

我暫時重寫了Commit函數,但是還沒有自己的實現。

public override void Commit(System.Collections.IDictionary savedState)

   {

        base.Commit(savedState);

}

4.      新建一個setup工程,在Other Project Types里面,并且下拉框選中Add to Solution。我暫時命名為setup. 當然這個前提是你有一個想安裝的程序。 或者有你想制作安裝程序的編譯后的文件。

   vs2008,安裝部署

5.      添加源程序文件。

切換Setup工程的視圖為File System

   vs2008,安裝部署

左鍵點擊Application Folder.這個文件夾就是放源程序文件的。User’s Desktop是放桌面快捷方式的,User’s Programs Menu是定義開始菜單的。

vs2008,安裝部署

在右邊空白的地方右鍵選中添加項目輸出文件

vs2008,安裝部署

下面下來列表選中你要安裝的程序,比如我要安裝的是 WpfSetup。按住Ctrl鍵選中Primary output和 Contetn Files,點擊OK鍵。這樣就把需要安裝的程序的編譯后的主要文件都添加進來了。當然也可以手動添加進來如上圖選中Add->File然后瀏覽到你的release或者是debug后的文件夾,然后選中主要文件添加進來。

vs2008,安裝部署

6.      創建快捷方式。在剛剛添加的Primary output from WpfSetup(Active) 上面點擊右鍵,選擇創建快捷方式,然后重命名。

   vs2008,安裝部署

vs2008,安裝部署

把這個重命名的文件用鼠標左鍵托到User’s Desktop文件夾里面,這樣的話就會在桌面上面生成一個快捷方式,然后再自定義開始菜單的結構,安裝通常的做 法,我們在User’s Programs Menu文件夾里面新建一個文件夾用于放置我們安裝卸載以及幫助手冊之類的快捷方式。我定 義的文件夾是WPFSample,快捷方式的添加參照User’s Desktop里面快捷 方式的添加。

這樣的話安裝程序的文件結構已經完成了。

7. 設置系統必備屬性。

    在setup工程上面點擊右鍵選擇屬性。

   vs2008,安裝部署

點擊 Prerequisites,在彈出的對話框里面選擇如下圖所示的選項,一定要選擇Download prerequisites from the same location as my application. 當然你也可以根據你的SDK選擇不不同的版本。如果你選擇的是3.5 Sp1。

vs2008,安裝部署

如果在編譯的過程中出現了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.這樣的錯誤你就需要進行如下操作:

1.       打開[Program Files]/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/

DotNetFx35SP1 文件夾,在x64 操作系統上是 %ProgramFiles(x86)% /Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/DotNetFx35SP1

2.       修改Product.xml文件,在<PackageFiles>節點里面添加下 列內容,然后保存。

<PackageFile Name="TOOLS/clwireg.exe" />
<PackageFile Name="TOOLS/clwireg_x64.exe" />
<tPackageFile Name="TOOLS/clwireg_ia64.exe" />

3.       打開這個網址http://go.microsoft.com/fwlink?LinkID=118080,下載dotNetFx35.exe

4.       打開命令提示符窗口(DOS窗口),并且進入你下載的dotNetFx35.exe的文件夾

5.       執行下面這個命令dotNetFx35.exe /x:。注意/x后面有個冒號呢。

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" 按照上面的步驟修改。

vs2008,安裝部署

8.設置安裝程序的屬性

在setup工程上面右鍵點擊選擇屬性。如下圖??梢赃x擇需要修改的屬性,比如語言,作者和制造商以及安裝程序的名字等等。

vs2008,安裝部署

9.Rebuild 這個安裝部署工程,然后在debug或者release文件里面找到安裝文件,比如我的是WPFSample.msi. 雙擊就可以運行了。

10. 自定義安裝界面

在setup工程上面點擊右鍵選擇用戶界面視圖

  vs2008,安裝部署

打開后如下圖,可以看到安裝分 下面三個部分,Start, Progress, End.我們可以在任意一個部分添加任意一個窗口。有些窗口需要用戶輸入參數的,這樣的話就需要在后臺獲得這些 參數,這樣就需要我們開始建立的CustomAction類了。

vs2008,安裝部署

11. 自定義安裝行為,選中一個你添加的對話框,比如我選中的是TextBoxes (A),它有四個輸入框

我只需要兩個所以第三個和第四 個的Visible屬性都是false. 然后定義第一個和第二個輸入框的屬性名字,我定義的是NAME和PASSWORD。

vs2008,安裝部署

切換到Customs Actions視圖

vs2008,安裝部署

在Install和Commit文件上面右鍵添加上面定義的那個Custom Action.當然這個Primary output已經添加到了Application Folder里面了(添加方法參照上文)。這個也可以就是那個工程的.dll文件。

vs2008,安裝部署

選擇Install或者Commit文件里面的CustomAction文件,查看屬性

vs2008,安裝部署

在CustomActionData屬性里面輸入參數名稱和值例如/name=[NAME]這個表達式的意思就是定義一個變量名字是name值是前面添加的那個對話框的屬性名稱并用[]括起來。這樣就可以在自定義安裝類里面得到了。方法如下:

string name = this.Context.Parameters["name"].ToString();

     string pass = this.Context.Parameters["password"].ToString();

這樣就得到了輸入框的值。然后 在進行一些邏輯操作。也可以拋出一個異常來終止安裝過程,并回滾。

     throw new Exception("Invalidate name");

回滾和卸載的程序我們也可以自定義,道理都是一樣的 。

12. 實現卸載

   找到msiexec.exe這個文件,通常在C:/WINDOWS 下面

   添加到Application Folder里面修改名字為Uninstall.exe(也可以不修改)。

   創建快捷方式,移到User’s Programs Menu下 面的自定義的那個文件夾下面如WPFSample文件下面

然后打開屬性窗口,設置Arguments值為 /x ProductCode vs2008,安裝部署

這個ProductCode值在 Setup工程的屬性頁可以看到

vs2008,安裝部署

這樣就完成了卸載程序了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲国产日本| 欧美性猛交xxxx久久久| 亚洲电影免费观看高清完整版| 色综合久久久久久中文网| 日韩在线视频二区| 亚洲欧美激情另类校园| 粉嫩老牛aⅴ一区二区三区| 国产欧美一区二区三区四区| 亚洲欧美一区二区三区情侣bbw| 97精品国产97久久久久久免费| 中文字幕亚洲自拍| 亚洲影院色在线观看免费| 日韩精品在线视频美女| 欧美老妇交乱视频| 不卡av电影在线观看| 久操成人在线视频| 国产精品视频一区二区高潮| 欧美性猛交xxxx黑人| 久热精品视频在线免费观看| 欧美亚洲国产视频| 国产精品黄色影片导航在线观看| 97精品在线视频| 国产精品九九九| 日韩免费观看视频| 日本韩国在线不卡| 国产精品观看在线亚洲人成网| 国产欧美日韩免费| 福利一区福利二区微拍刺激| 中文字幕不卡在线视频极品| 久久久精品在线观看| 欧美高清视频在线| 北条麻妃99精品青青久久| 精品二区三区线观看| 欧美视频在线免费| 日本精品一区二区三区在线播放视频| 国产精品国产三级国产aⅴ9色| 国产精品嫩草影院一区二区| 国产精欧美一区二区三区| 国产欧美精品在线播放| 国产精品成人一区二区三区吃奶| 日韩av中文字幕在线播放| 亚洲精品美女在线观看| 久久黄色av网站| 久久人人看视频| 红桃av永久久久| 亚洲在线www| 日韩电影在线观看中文字幕| 久久久久久欧美| 国产精品一区二区久久精品| 国产精品偷伦视频免费观看国产| 青青精品视频播放| 一区二区三区高清国产| 久久国产视频网站| 国产综合在线视频| 日韩中文在线观看| 欧美在线免费视频| 欧美日韩一区二区免费视频| 国产精品va在线播放我和闺蜜| 色播久久人人爽人人爽人人片视av| 亚洲视频999| 欧美人成在线视频| 亚洲无限av看| 96精品久久久久中文字幕| 国产一区二区在线免费| 亚洲xxxxx电影| 久久手机精品视频| 亚洲mm色国产网站| 欧美在线视频免费播放| 精品久久久国产| 国产美女扒开尿口久久久| 国产精品久久久久久影视| 久久久爽爽爽美女图片| 亚洲国产成人精品电影| 裸体女人亚洲精品一区| 在线视频欧美日韩精品| 亚洲欧美一区二区三区久久| 国产精品精品久久久久久| 九九热这里只有在线精品视| 久久不射电影网| 国产精品99导航| 国产精品极品美女在线观看免费| 久久久亚洲网站| 国产成人极品视频| 日韩中文字幕免费| 久久国产精品久久久久久久久久| 亚洲一级黄色片| 在线播放日韩av| 欧美性视频网站| 成人网在线免费观看| 日韩成人激情视频| 欧美亚洲免费电影| 国产日韩在线看片| 色多多国产成人永久免费网站| 亚洲国产精品va在线观看黑人| 国产精品久久久久久久久久| 日韩av片免费在线观看| 性色av一区二区三区红粉影视| 国产精品专区第二| 亚洲男人的天堂网站| 日韩免费在线观看视频| 国产成人免费91av在线| 国模叶桐国产精品一区| 国产欧美日韩精品专区| 欧美激情综合色| 欧美国产激情18| 懂色aⅴ精品一区二区三区蜜月| 欧美电影免费看| 青草青草久热精品视频在线观看| 亚洲国产私拍精品国模在线观看| 国产小视频91| 8090理伦午夜在线电影| 欧美午夜影院在线视频| 久久全球大尺度高清视频| 亚洲免费av片| 国产精品久久久久久婷婷天堂| 国产一区二区黑人欧美xxxx| 中文字幕精品国产| 最新中文字幕亚洲| 亚洲精品久久久久久久久久久| 欧洲亚洲免费视频| 国产视频亚洲视频| 国产精品专区一| 992tv在线成人免费观看| 亚洲人成伊人成综合网久久久| 国产精品1区2区在线观看| 日韩电影免费在线观看中文字幕| 成人av在线亚洲| 这里只有精品视频在线| 深夜福利91大全| 国产一区二区三区欧美| 国产欧美一区二区三区在线| 国产精品久久久久久久久免费| 在线观看91久久久久久| 欧美激情精品久久久久久久变态| 日韩av免费在线播放| 在线观看亚洲区| 视频在线一区二区| 91福利视频网| 久久免费视频网站| 91九色综合久久| 欧美成人精品xxx| 亚洲国产一区二区三区四区| 亚洲精品99久久久久| 日本一区二区不卡| 亚洲深夜福利网站| 一区二区成人av| 欧美日韩国产一区二区三区| 日韩免费高清在线观看| 国产精品视频资源| 欧美视频第一页| 国产日韩欧美中文在线播放| 最近的2019中文字幕免费一页| 国产精品久久久久久亚洲影视| 日本精品一区二区三区在线| 欧美日韩一区二区免费视频| 国产亚洲欧洲高清一区| 狠狠躁夜夜躁人人爽超碰91| 这里只有视频精品| 亚洲一区av在线播放| 成人女保姆的销魂服务| 日产精品久久久一区二区福利| 欧美在线视频免费观看| 精品视频—区二区三区免费| 国产精品久久国产精品99gif|