日期:2014-06-10  浏览次数:20715 次

c# winform 程序打包部署

核心总结:

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 clip_image001 今天需要为一个应用程序打包,由于步骤比较多,加上我个人的遗忘性很大,就去网上搜了一个很详细的打包步骤,为了防止以后再次的遗忘,特将其粘贴至此。闲话少说,上图:

1:新建安装部署项目 
打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图) 
此主题相关图片如下:

clip_image003

2:安装向导 
关闭后打开安装向导,点击下一步,或者直接点击完成. 
3:
开始制作 
安装向导完成后即可进入项目文件夹: 
双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.

clip_image005

然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中. 
这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式.

clip_image007

然后右击左边的"应用程序文件夹"打开属性对话框: 
将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉, 
不然的话做好的安装程序默认安装目录会是"c:/programm file/你的用户名/安装解决方案名称"; 
然后打开解决方案管理器,右击你的解决方案名称,选择属性: 
在打开的属性页中,选择"系统必备", 
clip_image008

在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!! 
选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)

clip_image009

好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功! 
4:制作完成 
现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了. 
【续】关于"卸载"功能的添加 
上面的文章只介绍了简单的生成安装的方法, 
但是在vs.net2005下并没有直接生成卸载程序的功能, 
所以我们只好用msi来实现了, 
原理我就不讲了,网上一搜一堆,我只讲操作, 
【1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去, 
这个文件在c:/windows/system32文件夹下,

clip_image010

添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe", 
当然这个关系不大,改不改都行的. 
然后给他创建一个快捷方式,放到桌面或者"开始-程序"中, 
我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了, 
鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性, 
这个区别很大,这时你就可以看到ProductCode了,

clip_image011

然后打开你创建的那个快捷方式的属性对话框, 
在Aguements属性中输入"/x {ProductCode}", 
clip_image012

clip_image013 
好了,然后点击"生成解决方案"即可生成带有卸载功能的安装程序了.

 

 

///////////////////////////

 

 

.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"