天天看點

【轉載新浪網部落格】c# winform 程式打包部署

c# winform 程式打包部署

【轉載于新浪部落格】 blog.sina.com.cn/s/blog_7bee73ed010145ez.html

核心總結:

1.建議在完成的要打包的項目外,另建解決方案建立安裝部署項目(而不是在同一個解決方案内建立),在解決方案上右擊-〉添加-〉現有項目-〉選擇你要打包的項目,這樣就會把這個項目添加到該解決方案中來, 然後在安裝項目setup上右擊-〉添加-〉項目輸出-〉主輸出,在項目下拉框中選擇剛添加的項目,選擇這樣就會把這個要打包的項目的基本檔案添加到左側的應用程式檔案夾中,名字為主輸出來自**(活動)。

2.擷取 productcode 碼 先選中安裝項目,再點屬性視窗(注:直接點屬性視窗和右鍵屬性不是一回事)

3.C:/WINDOWS/system32/msiexec.exe 檔案加進來,建立完快捷方式後,選中該快捷方式點屬性,在屬性視窗中 arguments 輸入 /x {productcode},該快捷方式具有解除安裝功能。

4.選中安裝項目,點屬性視窗後 在屬性框中可設定作者 -公司等資訊。

 5.設定安裝項目的屬性

   1) 設定安裝檔案安裝時的路徑

      該路徑是由安裝項目的屬性manufacture,productname來決定的,為"C:/ProgramFiles/[manufacture]/[productname],可以修改這兩個屬性值,或者幹脆去掉manufacture屬性,操作如下:

      右擊左邊的"應用程式檔案夾"打開屬性對話框,将屬性中的"defaultlocation"的路徑中的"[manufacturer]"去掉。

   2) 在解決方案管理器中右擊安裝項目的名稱-〉屬性,在打開的屬性頁中,選擇"系統必備",勾中.Net Framework2.0。

      并且選中下面的“從與我相同的位置下載下傳系統必備元件”。預設是第一項從網站進行下載下傳,第三項是手工添加的方式。

   3) 可選。設定安裝項目的RemovePreviousVersion屬性為True,InstallAllUsers屬性為True。

具體:

1 建立一個 c# 安裝部署項目

2 在檔案系統編輯器裡把做好的項目的可執行檔案及要用到的其它檔案(相關dll及資源檔案)添加進來(應用程式檔案夾)

3 如果要在程式菜單中加快捷方式,可以在應用程式檔案夾裡把項目的可執行檔案 生成一個快捷方式,再剪切到 使用者的程式菜單 欄裡同時可以把名稱改成你要的名稱

4 如果要加進解除安裝功能 在應用程式檔案夾裡添加檔案的時候同時把 C:/WINDOWS/system32/msiexec.exe 這個檔案加進來, 建個快捷方式,剪切到 使用者的程式 檔案夾中 在屬性視窗中 arguments 輸入 /x {productcode} 這個productcode 是空上安裝項目的屬性裡的 productcode 的屬性值,copy過來即可,如 /x {16C2B03C-F8C9-4BE9-9BD6-D4E6319FDA66}

5 同時可以為快捷方式指定自己的圖示,在屬性的icon 裡可指定

如何為WinForm程式打包

時間:2009-09-10 09:43來源: 作者:方寸之間 點選: 4次

如何為WinForm程式打包 Posted on 2009-09-10 09:43 jingjing1009 閱讀(14) 評論(1) 編輯 收藏 網摘 所屬分類: WinForm 今天需要為一個應用程式打包,由于步驟比較多,加上我個人的遺忘性很大,就去網上搜了一個很詳細的打包步驟,為了防止以後再次的遺忘,

如何為WinForm程式打包

Posted on 2009-09-10 09:43 jingjing1009 閱讀(14) 評論(1)  編輯 收藏 網摘 所屬分類: WinForm 

【轉載新浪網部落格】c# winform 程式打包部署

 今天需要為一個應用程式打包,由于步驟比較多,加上我個人的遺忘性很大,就去網上搜了一個很詳細的打包步驟,為了防止以後再次的遺忘,特将其粘貼至此。閑話少說,上圖:

1:建立安裝部署項目 

打開VS,點選建立項目,選擇:其他項目類型->安裝與部署->安裝向導(安裝項目也一樣),然後點選确定.(詳細見下圖) 

此主題相關圖檔如下:

【轉載新浪網部落格】c# winform 程式打包部署

2:安裝向導 

關閉後打開安裝向導,點選下一步,或者直接點選完成. 

3:開始制作 

安裝向導完成後即可進入項目檔案夾: 

輕按兩下"應用程式檔案夾"在右邊的空白處右擊,選擇添加->檔案,将你的做的應用程式的可執行檔案和相應的類庫群組件添加進來.

【轉載新浪網部落格】c# winform 程式打包部署

然後右擊你的可執行檔案,建立快捷方式,然後把快捷方式分别剪切或複制到左邊的"使用者的'程式'菜單"和"使用者桌面"中. 

這樣安裝程式安裝安裝完成後會在 "開始->所有程式"和"桌面"上生成程式的快捷方式.

【轉載新浪網部落格】c# winform 程式打包部署

然後右擊左邊的"應用程式檔案夾"打開屬性對話框: 

将屬性中的"defaultlocation"的路徑中的"[manufacturer]"去掉, 

不然的話做好的安裝程式預設安裝目錄會是"c:/programm file/你的使用者名/安裝解決方案名稱"; 

然後打開解決方案管理器,右擊你的解決方案名稱,選擇屬性: 

在打開的屬性頁中,選擇"系統必備", 

【轉載新浪網部落格】c# winform 程式打包部署

在打開的系統必備頁中,選中如下中的選擇項,這個很重要!!!!!1!!!!! 

選上以後,在生成的安裝檔案包中包含.netframework元件.(這個選項預設是沒有選中的)

【轉載新浪網部落格】c# winform 程式打包部署

好了,這樣就完成99%了,然後點選"生成->生成解決方案",哈,生成成功! 

4:制作完成 

現在打開解決方案檔案夾下的debug檔案夾,就可以看到生成的安裝檔案了. 

【續】關于"解除安裝"功能的添加 

上面的文章隻介紹了簡單的生成安裝的方法, 

但是在vs.net2005下并沒有直接生成解除安裝程式的功能, 

是以我們隻好用msi來實作了, 

原理我就不講了,網上一搜一堆,我隻講操作, 

【1】:在添加你的應用程式項目的時候,多添加一個msiexec.exe進去, 

這個檔案在c:/windows/system32檔案夾下,

【轉載新浪網部落格】c# winform 程式打包部署

添加進去以後,為了讓他更像個解除安裝程式,把他的名字改成"Uninstall.exe", 

當然這個關系不大,改不改都行的. 

然後給他建立一個快捷方式,放到桌面或者"開始-程式"中, 

我選擇放在了開始菜單中,然後下面我們要的做的就是查找這個部署項目的ProductCode了, 

滑鼠左鍵單擊項目名稱,記住是左鍵單擊,然後點選屬性标簽,注意:不是右擊的屬性, 

這個差別很大,這時你就可以看到ProductCode了,

【轉載新浪網部落格】c# winform 程式打包部署

然後打開你建立的那個快捷方式的屬性對話框, 

在Aguements屬性中輸入"/x {ProductCode}", 

【轉載新浪網部落格】c# winform 程式打包部署
【轉載新浪網部落格】c# winform 程式打包部署

好了,然後點選"生成解決方案"即可生成帶有解除安裝功能的安裝程式了.

///

.net中winform程式如何打包 2010-06-10 15:48

建立一個安裝向導項目或安裝部署項目

建立項目-〉其他項目類型-〉安裝與部署-〉安裝向導(或安裝部署),如命名為setup。

2. 将要打包的項目導入到這個安裝項目中,有兩種方式:

   第一種,自動方式,在解決方案上右擊-〉添加-〉現有項目-〉選擇你要打包的項目,這樣就會把這個項目添加到該解決方案中來,

   然後在安裝項目setup上右擊-〉添加-〉項目輸出-〉主輸出,在項目下拉框中選擇剛添加的項目,選擇這樣就會把這個要打包的項目的基本檔案添加到左側的應用程式檔案夾中,名字為主輸出來自**(活動)。

   第二種,手動方式,右擊左側的應用程式檔案夾(這個檔案夾就是要打包的項目中需要的檔案)-〉添加-〉檔案或檔案夾,主要是exe檔案和其他配置檔案或資料檔案。

在第一種方式中,系統會自動将要打包的項目所依賴的依賴項添加到“檢測到的依賴項”中,如Microsoft .Net Framework,如果沒有就需要手動添加了。

在第二種方式中,依賴項需要手動添加,右擊項目-->添加-->合并子產品,選擇要添加的檔案,.Net Framework是必須的,位于:C:/Program Files/Common Files/Merge Modules/ 下。

注意在第一種方式中,如果要打包的項目有配置檔案或資料檔案等其他,還需要手動将它們添加到應用程式檔案夾中。

3. 建立目标機器上的開始-〉程式菜單和桌面的快捷方式

   右擊應用程式檔案夾中的可執行檔案-〉建立快捷方式,建立完後,可以重命名為合适的中文名,将該快捷方式剪貼到使用者的“程式”菜單中,一般可以先在“程式”菜單中建立一個檔案夾。同樣的,再建立一個到使用者桌面中。

4. 建立解除安裝程式

   解除安裝程式的建立方式也有兩種。

   第一種,自己編寫代碼,代碼如下

/// <summary>

/// 應用程式的主入口點。

/// </summary>

[STAThread]

static void Main()

{

    System.Diagnostics.Process.Start("msiexec", "/X{C4A3986F-EA12-4194-BB8B-A9777E78A6ED}");

    Application.Exit();

    //Application.Run(new Form1());

}

其中{C4A3986F-EA12-4194-BB8B-A9777E78A6ED}為安裝項目的ProductCode屬性值。檢視該值時需要點選解決方案中的安裝項目的名字,然後在屬性視窗(菜單中的視圖-〉屬性視窗)中檢視ProductCode屬性值。

然後将該段代碼的可執行檔案加入到應用程式檔案夾中,在解除安裝項上指向它即可.

   第二種,使用msi實作

   在左側的應用程式檔案夾中添加c:/windows/system32/msiexec.exe檔案,為了明确其意義,可改為uninstall.exe。然後按照上面提到的步驟建立該解除安裝檔案的快捷方式,同樣剪貼到使用者的“程式”菜單中。

   在第三步中提到先在“程式”菜單中建立一個檔案夾,是以這裡将該檔案放到這個檔案夾下,否則打包的程式安裝後,在開始-〉程式清單中是看起來毫無關系的兩個快捷方式。為了便于識别,将此快捷方式的名字修改為“解除安裝**”,**為軟體名稱。

   修改該快捷方式的Argument屬性值為"/x {ProductCode}",ProductCode的檢視方式見第4步中的第一種方式。

5. 設定安裝項目的屬性

   1) 設定安裝檔案安裝時的路徑

      該路徑是由安裝項目的屬性manufacture,productname來決定的,為"C:/ProgramFiles/[manufacture]/[productname],可以修改這兩個屬性值,或者幹脆去掉manufacture屬性,操作如下:

      右擊左邊的"應用程式檔案夾"打開屬性對話框,将屬性中的"defaultlocation"的路徑中的"[manufacturer]"去掉。

   2) 在解決方案管理器中右擊安裝項目的名稱-〉屬性,在打開的屬性頁中,選擇"系統必備",勾中.Net Framework2.0。

      并且選中下面的“從與我相同的位置下載下傳系統必備元件”。預設是第一項從網站進行下載下傳,第三項是手工添加的方式。

   3) 可選。設定安裝項目的RemovePreviousVersion屬性為True,InstallAllUsers屬性為True。

6. 生成解決方案

   生成-〉生成解決方案。

   其更全的操作請到如下檢視:

   http://www.microsoft.com/china/MSDN/library/netFramework/netframework/VCSdnnetdepvsredistdeploy.mspx

?mfr=true

http://www.java-asp.net/aspnet/200601/t_49903.html

部署.net平台的程式

在我實際打包的過程中,采用的是第二步中的第一種方式,第四步的第二種方式。雖然安裝程式後,在安裝目錄下有msiexec.exe,但是點選解除安裝卻并沒有解除安裝掉程式,需要從控制台中進行解除安裝。

附:

另外在第五步中選擇從從網站下載下傳.Net Framework 2.0,可以通過下面的方式檢視url位址:

點選解決方案下的安裝項目,視圖-〉編輯器-〉啟動項目。可以左側的啟動條件下有.Net Framework一項,點選該項後在屬性視窗中檢視InstallUrl屬性,一般為"http://go.microsoft.com/fwlink/?LinkId=9832"