| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 120345 人关注过本帖, 54 人收藏
标题:[原创]手把手教你用C#打包应用程序(安装程序)【卸载模块已添加】
取消只看楼主 加入收藏
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
结帖率:100%
收藏(54)
 问题点数:0 回复次数:21 
[原创]手把手教你用C#打包应用程序(安装程序)【卸载模块已添加】
声明:
软件平台:VisualStudio2005中文版(在03下操作雷同).


1:新建安装部署项目
打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)
图片附件: 游客没有浏览图片的权限,请 登录注册



2:安装向导

关闭后打开安装向导,点击下一步,或者直接点击完成.
如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册



3:开始制作
安装向导完成后即可进入项目文件夹:
图片附件: 游客没有浏览图片的权限,请 登录注册



双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册



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

图片附件: 游客没有浏览图片的权限,请 登录注册



然后右击左边的"应用程序文件夹"打开属性对话框:
图片附件: 游客没有浏览图片的权限,请 登录注册



将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,
不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称";
修改后如图:
图片附件: 游客没有浏览图片的权限,请 登录注册



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

图片附件: 游客没有浏览图片的权限,请 登录注册



在打开的属性页中,选择"系统必备",
图片附件: 游客没有浏览图片的权限,请 登录注册



在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!!
选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)
图片附件: 游客没有浏览图片的权限,请 登录注册



好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!
4:制作完成
现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了.


图片附件: 游客没有浏览图片的权限,请 登录注册






】关于"卸载"功能的添加
上面的文章只介绍了简单的生成安装的方法,
但是在vs.net2005下并没有直接生成卸载程序的功能,
所以我们只好用msi来实现了,
原理我就不讲了,网上一搜一堆,我只讲操作,
1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,
这个文件在c:\windows\system32文件夹下,
图片附件: 游客没有浏览图片的权限,请 登录注册

添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe",

图片附件: 游客没有浏览图片的权限,请 登录注册



当然这个关系不大,改不改都行的.
然后给他创建一个快捷方式,放到桌面或者"开始-程序"中,
我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了,
鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,
这个区别很大,这时你就可以看到ProductCode了,
图片附件: 游客没有浏览图片的权限,请 登录注册



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

图片附件: 游客没有浏览图片的权限,请 登录注册



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




制作到此结束,如有疑问,可以跟帖提出.
如果我知道的话,就一定帮助大家解决问题.
其实安装部署的制作也是博大精深的,
在这里我也只是简单的教给大家制作一个简单的安装程序的方法.
如果对这方面感兴趣的朋友,不妨多多的研究一下.
共享你的新发现.

也希望喜欢的朋友多多的支持一下。

[此贴子已经被作者于2007-4-5 21:00:04编辑过]

搜索更多相关主题的帖子: 模块 应用程序 手把手 卸载 打包 
2007-04-03 21:32
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用HankStar在2007-4-4 17:03:40的发言:

那个卸载的呢?

答:
控制面板-添加删除程序中可以删除.
添加卸载快捷方式的方法正在研究中.......


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-04-04 18:06
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
解决办法已经研究出来了~~
等我回去了就贴出来方法~~~

C#Winform技术群:25380362
博客:http:///boyliupan/
2007-04-05 12:36
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用HankStar在2007-4-5 13:19:13的发言:
msiexec.exe

/x {..}

正如你所说~~~


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-04-05 20:04
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
.netframwork是运行环境,
就像是java程序必须运行在含有java虚拟机的系统上是一样的,
我也寻求不安装.netframework就能运行c#程序的方法,
但是一直没有结果.
网上c#安装部署的文章太少了.

C#Winform技术群:25380362
博客:http:///boyliupan/
2007-04-06 09:41
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用l109435在2007-4-8 23:56:44的发言:
为啥会是2005的,你能告诉我2003的咋打包应用程序吗?
我的邮箱是l109435@sina.com

因为我现在的编译平台是05的,
所以也没有办法个大家做03的截图说明,
05和03的打包程序区别不是很大,
但是03的要下载一个组件包,
才能把.netframework和程序封装到一块。


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-04-11 14:26
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用飙马在2007-4-20 10:47:00的发言:

系统必备在03里面没有!

恩,03下需要下载一个补丁才能把.netframework打进去~~


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-04-20 12:41
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用缘来在2007-4-20 22:25:12的发言:
我按上面的提示做了一个,在没有.net Framework的机器上不能安装,老是提示从网上下载.net Framework,这是怎么回事?我别的步骤都一样,就是下面这一步不会弄,我做的是一个记事本,我只添加了jishiben.exe,不知道还需要添加什么?

如果用的是VS.NET2005,
看看我的教程里面的那个关于"系统必备"那一项.
如果是03就到网上去下一个补丁.


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-04-20 22:41
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用barbaraweng在2007-5-30 14:19:30的发言:
我在生成带有卸载功能的安装程序时出现了下面的警告项
“警告: 应将“uninstall.exe”排除,原因是其源文件“C:\WINDOWS\system32\msiexec.exe”受到“Windows 系统文件保护”。”
里面的“uninstall.exe”就是“msiexec.exe”改名而来
这个对卸载程序有没影响啊,或者做什么处理可以消除这个警告呢?谢谢!

对卸载程序没有影响。


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-05-30 17:21
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用白菜粉条在2007-5-30 17:15:38的发言:

楼主,谢谢你的教程,用心了!
我现在一个控制台应用项目即说白了是一个服务端程序,我现在希望在安装的时候能写进注册表,然后安装完成结束时提示计算机重起后服务端程序才能运行,如果点击是则计算机重起,点击否则提示安装完成,告诉计算机下次启动后服务端程序才能在后台运行。楼主帮我看看,怎么设置这安装部署!谢谢了!

不好意思,技术有限,帮不了你。


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-05-30 17:24
快速回复:[原创]手把手教你用C#打包应用程序(安装程序)【卸载模块已添加】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050536 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved