VS2010发布、打包安装程序超全超详细

找不到原文链接难过


1、  在vs2010 选择“新建项目”à“其他项目类型”à“ Visual StudioInstallerà

“安装项目”:

 

命名为:Setup1 。

这是在VS2010中将有三个文件夹,

1.“应用程序文件夹”表示要安装的应用程序需要添加的文件;

2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;

3.“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。

2、  应用程序文件夹中点右键添加文件:表示添加要打包的文件;

 

添加的文件一般是已经编译过 应用程序的debug目录下的文件

 

如果debug 下面有子文件夹 则需要“添加文件夹”,例如:data

 

然后把对应的子文件里的内容添加到此文件夹中;

把需要创建程序快捷方式的图标也添加进来:后缀名为:ico

3、   在创建的项目名称(Setup1)上点击右键:属性

 

     选择系统必备:

     

然后选择.NET的版本,和WindowsInstaller3.1(可选项)

选择:“从与我应用程序相同的位置下载系统必备组件”

这样安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET  FrameWork组件;但是安装包会比较大。

VS2010发布.NET2.0的版本,在创建安装程序时,需要设置启动条件:在项目名称(setup1)上,点击右键选择“视图”à“启动条件”: 

然后VS2010会创建如下文件:

在“启动条件”中 , 点击“.NETFramework”在Version上面选择.NET Framework 2.0;

这样.NET Framework 2.0上创建的项目在安装时,就不会安装.NET3.5或其他版本

也不会重启(解决.NET 2.0 创建的项目,安装.NETFrameWork3.5的问题)。

4、  设置安装文件的目录(路径):

创建的项目名称(setup1)点击左键(不是右键),在属性中设置参数如下图:

其中Author 为作者;Manufacturer为公司名称;ProductName为应用程序的名字;

例如我们设置为:BeyondKKO;Manufacturer:自由公司;ProductName:串口测试。

把InstallAllUsers 设置为True 。

(这样在“控制面板”程序中会显示公司的名称;

在安装时会默认为“任何人”,否则默认为“只有我”)

 

 

在应用程序上点击左键,如下图:第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer]。删除后只有应用程序的名称

5、 创建应用程序图标与卸载程序:

A.“在应用程序文件夹”中的.exe文件中,点击右键,创建快捷方式:

 

 

重命名“串口测试程序”,然后点击右键属性:选择Icon

 

双击进入选择我们之前添加的“MiXer.ico”

确定后,拖动此快捷方式到“用户桌面”

B. “用户的‘程序’菜单” 中添加一个文件夹,命名为:“串口程序”

然后同样的方式创建TEXTCOM.exe一个快捷方式(“串口测试程序”),拖动到“串口程序”中;

然后给.NET应用程序创建一个卸载程序:

在“应用程序文件夹”中添加:C:Windows\System32\Msiexec.exe

右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“串口程序”;

点击项目名称(Setup1),在属性中找到:ProductCode

复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性,前面加/x空格

6、  完成以上步骤,就可以生成解决方案了。

7、  生成解决方案后,在debug文件夹中就是我们需要的安装包。

8、  安装完在开始菜单中有“串口程序”的文件夹,里面有我们创建的两个快捷方式;

     

桌面上也有快捷方式。

 

 

 

 

 

 

英文版VS2010制作中文环境安装包

 

自从VS2010发布以来,一直在用英文版本,接下来就说明用英文版本制作中文环境安装包方法。


开发工具:VS 2010 EN 
开发语言:Visual C#

 

先来看下英文版制作中文环境安装包出现的错误:

当创建有中文字符的文件夹或文件名都会出现波浪线,安装后就会是乱码,当然,解决这个问题的方法也很简单,

按照上图,设置安装包属性Localization ChineseSimplified)。

这样虽然可以解决中文字符问题,但如果是要打包.net 环境的话(当然,您要是不打包.net环境这个就不在讨论之内了)

,如下图选择将.net 环境一起打包,

当生成安装程序的时候,出现了以下错误,如下图:

根据错误,很明显没有找到中文语言包,但是错误中说的磁盘又指的哪个目录呢?

目录是指这里:C:/ProgramFiles/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client(我的VS装在C盘,根据实际情况来定)

当然您会想是不是把中文语言包放在目标目录下不就可以吗?暂且不下判断,下载个中文语言放到目录下试试,

Microsoft  .Net Framework 4.0 完整版语言包   Microsoft .Net Framework 4.0客户端版语言包

下载下来之后,将完整版复制到“Packages/DotNetFX40/zh-Hans  (对应语言环境)

将客户端版复制到“Packages/DotNetFX40Client/zh-Hans”

重新生成安装包程序。。。。。。

Rebuild All Succeded

注:所有需要一起打包的程序放在“C:/ProgramFiles/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages”

可根据实际安装环境进行配置。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IntelliJ IDEA2017 激活方法 最新的

今天打开电脑,非常不幸,idea出问题了!!!大部分人以前应该都是用的以下方法:1. 到网站 http://idea.lanyus.com/ 获取注册码2.填入下面的license server:http://intellij.mandroid.cn/   http://idea.imsx…

介绍HawkFX

如前所述, 我开始玩JRubyFX 。 对我来说,学习一些新的最佳方法可以解决用例,因此我开始为Hawkular创建库存浏览器。 为什么选择JRubyFX? 让我们首先从“什么是JRubyFX”开始? JRubyFX是通过JRuby引入Ruby世界的JavaFX…

C++ Unicode和ANSII转换

构造字符串和转换字符串是不一样的,构造字符串时往往是添加标记,这个过程其实是告诉编译器应该怎么在内存中存储;一旦构造好,对于内存中的一块地址,这些标记符就没用了,这个时候就得使用转换函数转换了。对…

创建win32 dll

新建项目->win32项目(不是win32控制台)->下一步中选择dll(如果想生成lib,勾选导出符号)。此时编译会生成对应的dll文件,但没有lib,只有有导出符号的时候才会生成lib文件。导出符号可以使用…

蓝桥杯 有几个星期日的问题.

1949年的国庆节(10月1日)是星期六。 今年(2012)的国庆节是星期一。那么,从建国到现在,有几次国庆节正好是星期日呢?只要答案,不限手段!可以用windows日历,win…

storm问题汇总

1.删除了本地topology导致无法启动nimbus 删除storm的自定义的库中的数据 删除zookeeper中配置的dataDir中的数据 重启服务即可 转载于:https://www.cnblogs.com/ives/p/9165850.html

带有API网关的AWS Lambda

在上一篇文章中,我向您展示了如何创建和部署AWS Lambda。 我们将继续这项工作,并只考虑更新该lambda的代码。 我们还将使用AWS API Gateway将REST端点添加到AWS Lambda。 因此,在继续之前……(如果尚未使用)&#xff…

获取焦点

win32 API:HWND SetFocus(HWND hWnd)MFC直接CWnd::SetFocus();参数:hWnd:接收键盘输入的窗口指针。若该参数为NULL,则击键被忽略。返回值:若函数调用成功,则返回原先拥有键盘焦点的窗口句柄。若…

树的问题?

题目: 一个深度为L的满k叉树有如下性质:第L层上的结点都是叶子结点,其余各层上每个结点都有k棵非空子树。如果按层数顺序从1开始对全部结点编号,问: (1)各层的结点数目是多少? &a…

HibernateTemplate

org.springframework.orm.hibernate5.HibernateTemplate 这是spring-orm-4.3.4.RELEASE.jar包中的一个类,这个类是对Hibernate进行了封装; 这是可以进行注入的属性,需要注入sessionFactory属性,因此我们需要创建一个sessionFactor…

使用电脑无线网卡分享网络命令

netsh wlan set hostednetwork modeallow ssidYourWifiName keyYourWifiPasswordnetsh wlan start hostednetworknetsh wlan show hostednetworkpause

STL_queue

STL__queue_的应用 调用的时候要有头文件&#xff1a; #include<stdlib.h> 或 #include<cstdlib> #include<queue> 详细用法: 定义一个queue的变量 queue<Type> que 查看是否为空范例 que.empt…

第四章: 4.1 logging模块 | 正则表达式

修改json数据然后写入json文件中 f open(1234.json,r,encodingutf-8) data f.read() data1 json.loads(data)data1[status] 1f1 open(1234.json,w,encodingutf-8)json.dump(data1,f1) hashlib md5值的用法 #加入下面这个就可以 password input(请输入密码:)m hashlib.md…

Java EE 6 VS Spring 3:Java EE杀死了Spring? 没门!

介绍 几天前&#xff0c;我在听Java Spotlight Podcast的第85集 。 在这次演讲中&#xff0c; Bert Ertman和Paul Bakker讨论了从Spring迁移到Java EE的问题。 基本上&#xff0c;在他们的介绍中&#xff0c;他们说&#xff0c;如今&#xff0c;选择Spring而不是Java EE是没有意…

蓝桥杯 n进制小数

n进制小数 将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数&#xff0c;小数点后保留8位&#xff0c;并输出。例如&#xff1a;若十进制小数为0.795&#xff0c;则输出&#xff1a; 十进制正小数 0.795000 转换成 2 进制数为: 0.11001011 十进制正小数 0.795000 转换成…

状态栏编程(显示系统时间和进度条)

原文地址&#xff1a;http://welkangm.blog.163.com/blog/static/19065851020127941446182/ 显示系统时间 1、 在状态栏中设置两个新的栏位Timer和Progress。首先到ResourceView中编辑String Table&#xff0c;增加IDS_TIMER(时间),PROGRESS(进度)。然后在MainFrame中修改ind…

使用保险柜管理机密

您如何存储秘密&#xff1f; 密码&#xff0c;API密钥&#xff0c;安全令牌和机密数据属于秘密类别。 那是不应该存在的数据。 在容易猜测的位置&#xff0c;不得以纯文本格式提供。 实际上&#xff0c;不得在任何位置以明文形式存储它。 可以使用Spring Cloud Config Server或…

winScp中文乱码设置

打开一个putty窗口(图一)&#xff0c;左上角鼠标左键点击&#xff0c;弹出设置界面&#xff0c;选择Change Settings&#xff0c;在图二界面的window->translation&#xff0c;Remote character set选择UTF-8&#xff0c;Apply应用即可。 转载于:https://www.cnblogs.com/ya…

键盘布局的改进之道

原文地址&#xff1a;http://www.cppblog.com/huaxiazhihuo/archive/2013/06/29/201380.html好久没上博客了&#xff0c;自己的那么一点微末道行也不敢拿出来丢人现眼。实际上&#xff0c;过去的几年&#xff0c;真的是让C和MFC害惨了&#xff0c;一直自个儿固步自封&#xff0…

如何将二维数组作为函数的参数传递

如何将二维数组作为函数的参数传递声明&#xff1a;如果你是得道的大侠&#xff0c;这篇文章可能浪费你的时间&#xff0c;如果你坚持要看&#xff0c;我当然感觉很高兴&#xff0c;但是希望你看完了别骂我&#xff01;如果你发现我这篇文章有错误的话&#xff0c;你可以提出批…