基于DevExpress的Winform程序安裝包的制作

在我們做系統(tǒng)開發(fā)的時候忘朝,都會面臨一個安裝包制作的問題恐仑,如何把我們做好的系統(tǒng)泉坐,通過安裝包工具整合成一個安裝包給客戶進行安裝为鳄。安裝包的優(yōu)勢就是一步步安裝就可以了裳仆,不用復制一大堆文件給客戶,還怕缺少那個文件導致系統(tǒng)運行出錯孤钦。本文主要介紹基于DevExpress的Winform程序安裝包的制作內(nèi)容歧斟,包括VS2010和VS2013/V2105的不同處理方式纯丸。
我們知道,VS2010是最后一個可以使用微軟安裝包制作工具的VS版本了静袖,所以后面VS2012/2013/2015版本都需要使用第三方安裝包制作工具觉鼻,微軟推薦使用Install Shield打包工具,本文以這兩個環(huán)境進行介紹安裝包的制作出來队橙。

1坠陈、VS2010使用微軟安裝包制作工具

在該版本及之前的VS 開發(fā)工具,都是使用微軟自帶的安裝包工具進行打包捐康,方便快捷仇矾,雖然也聽說過 Install Shield等大名鼎鼎的安裝包制作,但是集成的東西解总,總是感覺方便一些贮匕,而且也能夠應付大多數(shù)的安裝包制作情景,不知道為什么微軟把它從后續(xù)的版本中移除花枫。
不過慶幸VS2010版本還是繼續(xù)能夠使用其內(nèi)置的安裝包制作工具刻盐,本小節(jié)介紹的就是基于這個內(nèi)置安裝包制作工具做我們的DevExpressWinform程序。
1)準備好待發(fā)布的安裝文件
做安裝包的時候劳翰,一般可以使用項目引用的方式來構建(如活動項目輸出的方式)敦锌,不過我們可能需要對生成的DLL進行一下混淆等特殊處理,所以一般我們是創(chuàng)建一個目錄來放置需要發(fā)布的文件的磕道。如下所示供屉,我在Bin目錄下創(chuàng)建一個DeployedMis的目錄,用來存儲待發(fā)布的文件的溺蕉。



然后我們在Debug或者目錄里面伶丐,把對應的exe或者DLL文件進行混淆操作,我們一般可以選.NET Reactor混淆工具進行處理一下疯特,如下所示哗魂。



然后我們把生成的Debug目錄的文件復制一份到DeployedMis目錄,并把混淆生成的文件替換原有的文件就可以了漓雅。最后順帶捎上漢化文件(如zh-Hans目錄里面的文件)录别、RDLC報表文件、Excel導入模板和其他資源文件邻吞,如下圖所示组题。

2)制作VS安裝包
目前我們就準備好發(fā)布的文件了,接下來的就是要啟動安裝包的制作方面的事情了抱冷,先在VS解決方案里面創(chuàng)建一個VS安裝包工程項目崔列,如下所示。

然后設置好安裝包的一些基礎信息,如公司信息赵讯、產(chǎn)品名稱等關鍵信息盈咳,也就是在安裝包的項目里面打開屬性,得到界面如下圖所示边翼。




然后我們在文件系統(tǒng)視圖里面鱼响,創(chuàng)建相關的目錄,并加入相關的文件组底,注意【應用程序文件夾】目錄下的文件就是我們安裝到客戶目錄的文件內(nèi)容丈积,在這里加入一些主程序exe,然后會自動引入一些DLL的文件的债鸡,所以最終得到下面的工程界面截圖桶癣。

我們在exe的主程序上面右鍵,創(chuàng)建一個快捷方式娘锁,設置好圖標后牙寞,復制到用戶桌面就會成為一個快捷方式的連接了。

如果我們需要為程序添加一個卸載快捷方式莫秆,那么我們在【應用程序文件夾】里面加入C:\Windows\System32\msiexec.exe的系統(tǒng)文件间雀,然后創(chuàng)建一個它的快捷方式,復制到對應的目錄上镊屎,如下界面所示惹挟。

卸載的快捷鍵還需要設置一些安裝包的產(chǎn)品ID才能進行卸載處理,如下所示缝驳。

其中屬性需要設置Arguments參數(shù)為:-x {CB83AA8B-4504-48FF-BF3B-E269CC3244EA}连锯,其中-x后面的參數(shù)就是我們安裝項目的ProductCode內(nèi)容。

弄好這些用狱,我們編譯整個安裝包就可以生成一個符合實際生產(chǎn)需要的安裝包了运怖,安裝包同時也具有程序的卸載功能快捷鍵了,在Win10系統(tǒng)中的菜單如下圖所示夏伊。

有時候摇展,為了方便檢查是否主程序的自動引用少了某些文件,我們還可以檢查【檢測到的依賴項】列表溺忧,查核是否少了某些文件咏连,如果都符合,那么就肯定沒問題了鲁森。



如上圖所示祟滴,我們看到添加主程序后的自動檢測的引用文件,就包含了DevExpress的相關DLL了歌溉,這樣我們做成安裝包后垄懂,客戶安裝這個安裝包就可以使用DevExpress的界面內(nèi)容了,而不需要在客戶端完整的安裝一套DevExpress組件了。

2埠偿、VS2013及以上,使用InstallShield安裝包制作工具

在VS2013上榜晦,我們就需要使用InstallShield進行安裝包制作了冠蒋,我曾經(jīng)在之前的博客里介紹過利用InstallShield制作安裝包的操作《基于InstallShield2013LimitedEdition的安裝包制作》,在使用VS2013創(chuàng)建安裝包之前乾胶,我們需要安裝一個InstallShield的版本抖剿,其中LimitedEdition是一個可以申請免費賬號使用的版本,當然專業(yè)版InstallShield是收費识窿,而且費用也不低的了斩郎。使用LimitedEdition,我們也可以創(chuàng)建一般的安裝包喻频,本文主要介紹基于LimitedEdition版本的安裝包制作缩宜。
安裝完畢LimitedEdition版本后,我們可以在VS的新建項目里面甥温,有一個安裝包的創(chuàng)建工程模板了锻煌。


在做基于DevExpress的Winfrom系統(tǒng)InstallShield安裝包,我們一樣要做上面的事情姻蚓,就是需要準備一個專門的目錄用來放置編譯并混淆好的DLL宋梧,這樣我們在InstallShield LimitedEdition加入主程序的時候,會自動引入所需的DLL以及方便添加所需的資源文件了狰挡。


InstallShield工具提供了輔助的各個步驟的操作捂龄,基本上我們按照要求處理就可以實現(xiàn)了,具體操作指引界面如下所示加叁。

例如倦沧,我在云會員系統(tǒng)的客戶端安裝包,就是使用這個InstallShield工具進行打包的它匕,設置主安裝項目的信息如下所示刀脏。

在安裝包的制作過程中,最為關鍵的就是所需文件的添加處理了超凳,如果添加正確愈污,就能正常進行編譯、安裝操作轮傍,否則就容易編譯過不了暂雹。
我們在【Application Files】里面,添加所需的文件创夜,主要添加主程序以及所需的一些文件杭跪,相關的引用DLL可以通過依賴進入。操作如下所示。

如果我們單擊左邊【Files and Folders】涧尿,我們就可以更加詳細的操作整個安裝包的文件和目錄內(nèi)容了系奉。
如可以查看主程序文件的依賴文件操作。

單擊上圖右鍵菜單的【Dependencies from scan at build...】的時候姑廉,我們可以看到主程序集帶入的相關DLL引用缺亮,里面有很多DevExpress相關的DLL,我們可以通過檢查這個列表桥言,確認是否少了一些特殊的DLL引用萌踱,如果少了,我們再添加對應的文件到安裝包目錄里面就可以了号阿。

接著可以在其他步驟增加快捷方式并鸵,如增加啟動程序、卸載程序的快捷方式扔涧,如下所示园担。

我們也可以通過【Shortcuts】功能進入更加直觀的界面顯示,如下所示枯夜。

以及圖標修改等操作粉铐,還有就是可以修改修改默認安裝界面,最后可以得到安裝包的界面如下所示卤档。



以上就是兩種不同方式的安裝包制作的過程蝙泼,希望能夠幫助您在使用并發(fā)布DevExpress程序的時候有所幫助,也就是如果在VS2010上開發(fā)劝枣,我們可以使用微軟內(nèi)置的安裝包制作工具汤踏,如果是VS2012、VS2013舔腾、VS2015等版本上溪胶,我們就可以使用InstallShield工具進行安裝包制作了。兩者制作的總體思路和配置信息是差不多的稳诚,不過使用界面和方式有所差異哗脖,習慣就好。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扳还,一起剝皮案震驚了整個濱河市才避,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌氨距,老刑警劉巖桑逝,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異俏让,居然都是意外死亡楞遏,警方通過查閱死者的電腦和手機茬暇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寡喝,“玉大人糙俗,你說我怎么就攤上這事≡蓿” “怎么了巧骚?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長珊皿。 經(jīng)常有香客問我,道長巨税,這世上最難降的妖魔是什么蟋定? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮草添,結果婚禮上驶兜,老公的妹妹穿的比我還像新娘。我一直安慰自己远寸,他們只是感情好抄淑,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著驰后,像睡著了一般肆资。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上灶芝,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天郑原,我揣著相機與錄音,去河邊找鬼夜涕。 笑死犯犁,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的女器。 我是一名探鬼主播酸役,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼驾胆!你這毒婦竟也來了涣澡?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤丧诺,失蹤者是張志新(化名)和其女友劉穎暑塑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锅必,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡事格,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年惕艳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驹愚。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡远搪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出逢捺,到底是詐尸還是另有隱情谁鳍,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布劫瞳,位于F島的核電站倘潜,受9級特大地震影響,放射性物質發(fā)生泄漏志于。R本人自食惡果不足惜涮因,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伺绽。 院中可真熱鬧养泡,春花似錦、人聲如沸奈应。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杖挣。三九已至肩榕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惩妇,已是汗流浹背点把。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留屿附,地道東北人郎逃。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像挺份,于是被迫代替她去往敵國和親褒翰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容