将c#程序做成安装程序
来源:互联网 发布:java面试题2015 编辑:程序博客网 时间:2024/05/18 00:46
开发平台:vs2008专业版
步骤:
1.创建一个安装向导项目或安装部署项目
新建项目>其他项目类型>安装与部署>安装向导(或安装部署)
2.将要打包的项目导入到该安装项目中,(2种方法)
一、自动方式:在解决方案上右键>添加>现有项目>选择要打包的项目,这样会自动把该项目添加到解决方案中。
然后在安装项目上右击>添加>项目输出>主输出,在项目下拉框中选择刚添加的项目,该选择会把要打包的项目的基本文件添加到左侧的应用程序文件夹中。名字为主输出来自xxx。
(该方法,系统会自动将要打包的项目所依赖的依赖项添加到“检测到的依赖项”中,例如:.net framework,如果没有则需 要手动添加。)
(注意:在该方法中如果要打包的项目有配置文件或数据文件等其他文件,则需要手动将它们添加到应用程序文件夹中)
二、手动方式,右击左侧的应用程序文件夹(该文件夹就是要打包的项目中的文件)>添加>文件或文件夹>主要是exe文件和其他配置文件或数据文件。
3.建立目标机器上的开始>程序菜单和桌面快捷方式
右击应用程序文件夹中的可执行文件>创建快捷方式,创建完后,可以重命名为合适的中文名。将该快捷方式剪贴都用户的“程序
”菜单中(一般可现在“程序”菜单中创建一个文件夹,同样的,再创建一个到用户桌面中)。
4.创建卸载程序
创建卸载程序也有两种。
第一种:手动编写代码:代码如下:
///<summary>
///应用程序的主入口点
///</summary>
[STATHhread]
static void Main(){
System.Diagnostics.Process.Start("msiexec","/x{C4A3986F-EA12-BB8B-A9777E78A6ED}");
Application.Exit();
//Application.Run(New Form1());
//其中{C4A3986F-EA12-BB8B-A9777E78A6ED}为安装项目的ProductCod属性值,查看该属性时需要点击解//决方案中的安装项目的名字,然后在属性窗口(菜单中的视图>属性窗口)中可查看ProductCode属性值。
}
然后将该段代码的可执行文件加入到应用程序文件夹中,在卸载项上指向它即可。
第二种:使用msi实现
1.在左侧的应用文件夹中添加c:/windows/system32/msiexec.exe文件,为了明确其意义,可改为uninstall.exe。
2.然后按照上面提到的步骤创建卸载文件的快捷方式,同样剪贴到用户的”程序“菜单中。
3.第三步中提到先在“程序”菜单中创建了一个文件夹,所以这里将该文件放在这个文件夹下,否则打包的程序安装后,再开始>程 序列表中是看起来毫无关系的两个快捷方式,为了便于识别,可将该快捷方式更名为"卸载xxx"或其他。
4.修改该快捷方式的Argument属性值为"/x{ProductCode}",ProductCode的查看方式详见第一种方法
5.设值安装项目的属性
1.设值安装文件安装时的路径
该路径是由安装项目的属性 manufacture,productname决定,为“c:/ProgramFiles/[manufacture]/[productname]”其中manufactur和productname可任意修改。或则干脆去掉manufacture属性。
(去掉manufacture操作方法:右击左边的“应用程序文件夹”打开属性对话框,将该属性的“defaultlocation”的路径中的"[manufacture]"去掉)
2.在解决方案管理器中右击安装项目的名称>属性,在打开的属性页中,选择“系统必备”,勾中.Net Framework2.0
并且选中下面的“从与我相同的位置下载系统必备的组件”。默认是第一项从网站进行下载
6.生成解决方案
生成>生成解决方案
- 将c#程序做成安装程序
- 将java程序做成可执行文件
- 将java程序做成windows系统服务
- 将java程序做成exe文件
- linux环境将python程序做成可执行
- 将python程序做成一个服务
- ASP.NET文件做成安装程序
- C#中将你编写的程序做成安装软件详细过程
- 把.net程序编译并做成安装程序
- 将JAVA程序做成WINDOWS服务的方法
- 将java程序做成exe文件的几种做法
- 用VS2010将C程序做成动态链接库dll
- 怎么将 Android 程序做成插件化的形式?
- java程序做成批处理
- C#如何把可执行程序做成windows服务
- 如何把多个软件安装程序做成一个安装程序.
- java 程序做成 exe文件
- Liunx可执行程序做成服务
- 批处理学习--参数输入交互篇
- bootloader开发阶段总结以及可能会碰到的问题
- CSS属性部分选择机制
- 关于C#string.replace 一点感想(有点非技术)
- Android读写文件正确实行方法介绍
- 将c#程序做成安装程序
- Content-Type一览
- 开始写博客文章
- 实用命令
- show queues 状态不正常 Invalid 已经解决
- abap range结构四个字段含义
- PLSQL Developer设置及快捷键设置
- Oracle与SQL Server连接方法
- java抽象类和接口的区别