该文是根据网上的文章并结合自己实际打包的过程而整理的。
开发平台:VisualStudio2005中文版。
步骤如下:
1. 创建一个安装向导项目或安装部署项目
新建项目-〉其他项目类型-〉安装与部署-〉安装向导(或安装部署),如命名为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 Framework2.0打包到安装程序中的另一种方式需要用到MicrosoftVisual Studio .NET 2005 引导程序插件PluginInstaller.msi,可以到微软官方网站下载,然后安装。安装该插件后再进行打包时,会发现安装文件的同级目录下会多出好几个文件。
另外在第五步中选择从从网站下载.Net Framework 2.0,可以通过下面的方式查看url地址:
点击解决方案下的安装项目,视图-〉编辑器-〉启动项目。可以左侧的启动条件下有.Net Framework一项,点击该项后在属性窗口中查看InstallUrl属性,一般为"http://go.microsoft.com/fwlink/?LinkId=9832"
7. 安装路劲设置
选择[文件系统]->[应用程序文件]->[属性]->DefaultLocation=路劲(D:\文件夹\)
参考:
手把手教你用C#打包应用程序(安装程序)【卸载模块已添加. http://bbs.bccn.net/viewthread.php?tid=129015.
C#打包. http://www.cnblogs.com/wenlin1234/archive/2008/01/16/798737.html
分享到:
相关推荐
C# 制作安装程序 创建一个安装向导项目或安装部署项目 新建项目-〉其他项目类型-〉安装与部署-〉安装向导(或安....
C# 打包 exe可执行文件 制作
手把手教你用C#打包应用程序,方法简便易懂值得学习
C#打包--如何用VS2005制作Web安装程序,网站完成后,需要部署到目标机器上,方法有很多,直接把文件Copy到目标机器上,执行SQL脚本,配置IIS,这样可以做到;也可以使用InstallShield这样到专业制作软件来打包。本篇...
上面介绍了C# 制作安装软件的一些详细说法,慢慢看一步一步照着上面做就可以了。如果对你有用,觉得还不错就追加分。o(∩_∩)o... 我不闲分多。
用C#打包应用程序(安装程序),史上最全,包括卸载文件制作,控制面板添加删除程序小图标修改等....
Cab打包和签名工具,c#Active实现打包。C#制作、打包、签名、发布Activex全过程,asp.net
很多CSDN论坛朋友很多 应用程序打包疑问。特此发布视频解决需要这方面学习的朋友。也可以用于其他程序打包安装。
c# winform 程序打包部署和VS2008制作程序安装包.docx
这是我做的邮包计费程序 很简单单很实用,适合刚学C#的人看看
VisualStudio2008 自带的制作打包项目程序说明文档 详细请看具体内容,对学习.net很有帮助
c#开发的触摸屏程序:仿QQ登录密码输入框、自定义软件键盘;c#开发的仿QQ2013界面用户美化打包程序;整个程序使用vs2010开发;支持所有程序打包安装;程序代码后期开放;
C#写的自定义安装包,打包程序源代码,之前用的打包程序都是VS自带的或者是第三方的打包...自己的安装程序里面还有一些业务逻辑,然后自己就用C#写了一个安装包。 卸载的时候会一并 清理干净,不会留下任何残留项。
这个一个简单的c#winform 安装程序制作的录像,希望对初学者有个帮助
c#打包安装程序的卸载程序软件项目,使用时 通过“添加现有项目”将卸载项目添加到工程中,把打包的应用程序的ProductCode复制到卸载程序Program.cs中,最后在“文件系统”中添加主输出并选择卸载项目的Form即可,...
刚刚开发完成的一个Winform项目,使用VS2008自带的打包工具对它进行打包(设置开始菜单的快捷方式),安装...(winform程序的打包过程参见网络上的相关资源),这里我主要想说明打包后进行安装完毕后,快捷方式的指向问题。
C# 应用程序打包.pdf 如何制作安装程序包 使用C#
C#安装程序的制作 卸载 数据库安装 在.NET安装项目中打包安装MSDE
C# ActiveX控件开发、打包cab安装与部署之笔记,包含ActiveX控件开发源码、ActiveX制作流程、cab安装部署,电子版文档说明。
详细说明了如何制作C#安装程序,并加入了自动检测和安装.framework 语言包的说明!