您的位置:首页 > 编程语言 > C#

C#程序打包

2013-07-30 12:33 169 查看
1:新建安装部署项目

打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定

2:安装向导

关闭后打开安装向导,点击下一步,或者直接点击完成.

3:开始制作

安装向导完成后即可进入项目文件夹

双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.(PS:我直接把debug里边的文件copy过去了,包括exe文件和若干的dll文件)

然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中.

这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式.

然后右击左边的"应用程序文件夹"打开属性对话框:

将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,

不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称";

修改后如图:

然后打开解决方案管理器,右击你的解决方案名称,选择属性:

在打开的属性页中,选择"系统必备",

在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!!

选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)

4:处理空文件夹

vs在编译时会认为空文件夹没意义,所以会不会保留

解决方法是:

1.在空文件夹里随便建一个文件做占位

2.程序发布后再把文件夹空文件夹补上去

3.通过代码判断文件夹是否存在,若不存在则创建(推荐)

if (!System.IO.Directory.Exists(文件夹路径))

 {

    System.IO.Directory.CreateDirectory(文件夹路径);

}

5:创建卸载程序

   卸载程序的创建方式也有两种。

   第一种,自己编写代码,代码如下

  /// <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属性值。

然后将该段代码的可执行文件加入到应用程序文件夹中,在卸载项上指向它即可.

好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!

6:制作完成
现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了.

PS:

打包过程中出现错误:无法找到**文件,“存储空间不足,无法完成此操作。”

原因不明,重启后再次生成解决方案则正常!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: