以前版本的Visual Stuido中安装项目都可以使用微软自家的Visual Studio Installer,但是到了VS2012这一切都变了,只能用InstallShield Limited Edition。为这个鬼东西折腾了几天,把经验分享出来,留个脚印,以免同样上当。

1.VS2012及更高版本的安装项目

首先,从VS2012开始,以前的Visual Studio Installer不复存在,打开VS2012,新建项目中的“安装和部署”项目模版,多了一个“启用InstallShield Limited Edition”,双击可以得到这个东东的下载页面,直接用邮箱进行注册后,会发下载地址和注册码到邮箱。为了避免麻烦,本文后面有下载地址,并提供了一组注册码。

其次,InstallShield Limited Edition这个东东大家如果做过项目打包,应该都知道,是大名鼎鼎的项目打包工具,非常庞大,功能也强大(听说而已,我也不太会)。VS2012已经不支持Visual Studio Installer了,甚至以前的项目都打不开,只能通过转换到新的安装模版。心里不禁就想到,为啥自己的东西不用,还搞一个别人的,是个限制版,功能更全面就要升级购买,这是为什么?

最后,经过好多努力,到处找资料,看有没有Visual Studio Installer能不能在VS2012中使用,或者InstallShield Limited Edition的使用方法,可惜最后只在百度找到了几篇大概的入门图文教程,用处不大。在微软MSDN的网站,有如下的回复“

Here is everything I know about the InstallShield software included in VS2010. Note that this is NOT Microsoft software, so they don't support it, they don't update it, they don't upgrade it, etc. If you have questions about InstallShield, the best place to start is the InstallShield 2010 Limited Edition Evaluator Guide。。。。”

意思大概就是“InstallShield 软件从VS2010版本就开始包括在VS中,它不是微软的软件,所以VS不提供支持和更新,如果对InstallShield有疑问,可以到官方网站去。。。”

我次奥,这不是明显的坑爹吗,不是你的产品,不提供支持,你还替代自己的东东,拿来用。。

2.VS2012中InstallShield Limited Edition的使用及问题

其实VS2010也可以使用InstallShield Limited Edition,不过VS2010同时还能使用Visual Stuido Installer。以前这个问题估计很多人没注意。导致VS2012开始,只能使用InstallShield Limited Edition的时候,有些人措手不及,包括我自己。

2.1 InstallShield Limited Edition的常规安装没问题

InstallShield Limited Edition的常规安装项目,其实也很简单,简单的设置一下就可以了,我在最后提供一篇网上下载的PDF图文教程,一般安装那上面的顺序,就没问题。常规安装项目,是指简单的复制.NET项目的生成文件到系统目录,搞搞快捷方式,设置一些安装界面和软件信息等。特殊一点的安装当然就是后面所说的有关com组件和ActiveX控件的安装。

2.2 ActiveX控件的安装

问题起源于VS2010的一个ActiveX控件安装项目,到VS2012后,使用InstallShield Limited Edition安装基本的使用过程,都会出现一个“Q109435: Error -6109 Internal build error.”的错误 。经过在InstallShield官网的一番折腾,找到了可能原因之一:由于开发机可能已经注册或安装过次控件,导致在生成时不能注册和注销成功。后来手动打开regedit进行查找,把该控件的注册表条目都删除,果然生成成功了。狂喜了好一阵,没想到,这还只是开始;

生成成功后,我想当然,安装肯定没问题,结果,又来了:错误:-1605 此操作只对当前安装产品有效 。又搞了一阵,无果,最终决定放弃。采用installShield2010的破解版来试试,installShield2010专业版功能当然更强大一点,搞了一晚上,安装包是没错误,但在安装的时候还是com组件注册错误,我崩溃了,最终采用了备用方案,彻底放弃“InstallShield Limited Edition”

2.3 VS2012项目打包不使用InstallShield 的简单方法

为了解决VS2012开发打包ActiveX控件的问题,只能采用这个备用方案了,肯定可以解决问题,只不过不是最好的方法,好在能解决。

方法很简单“VS2012开发,VS2010的Visual Studio Installer打包,1个项目2个解决方案文件即可”

ActiveX控件的注册用Visual Stuido Installer是很容易解决和制作的(已经成功过)。因此VS2012开发后,使用VS2010打包是完全没问题,也没冲突的。但是现在.NET 4.5出来了,用.net 4.5制作的,能不能做,还有点不太确定,我想想问题应该不大,因为ActiveX注册和注册表有关,和.net版本关系貌似不大。

其实使用专业版本的项目打包工具,肯定也能解决,只不过小东西,花那么多时间去重新搞,没必要。

3.软件、教程与注册码下载

  VS2012中的InstallShield Limited Edition下载及注册码,由于快盘无法分享,且时间已久,源文件已经丢失。

  需要的朋友,还是去官方网站注册,然后获取最新版本,然后进行注册获取注册码。有免费版可以用,虽然麻烦点。

【吐槽】VS2012的安装项目只能用InstallShield Limited Edition的更多相关文章

  1. VS2012的安装项目只能用InstallShield Limited Edition

    [吐槽]VS2012的安装项目只能用InstallShield Limited Edition[附资源下载]   以前版本的Visual Stuido中安装项目都可以使用微软自家的Visual Stu ...

  2. VS2012的安装项目只能用InstallShield Limited Edition[附资源下载]

    以前版本的Visual Stuido中安装项目都可以使用微软自家的Visual Studio Installer,但是到了VS2012这一切都变了,只能用InstallShield Limited E ...

  3. InstallShield Limited Edition制作安装文件

    由于InstallShield Limited Edition for Visual Studio的教程.资料太少,所以我今天才决定写这个文章,专门针对C#项目打包,包括打包集成Microsoft . ...

  4. InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)

    InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) 标签: InstallShieldVS2013 2015 ...

  5. vs 2012 InstallShield Limited Edition Project 打包windows服务解析

    最近项目从vs2005 升级到vs2010后,发现新的vs2010 不再带有原来的安装工程项目,导致以前的安装包不可以使用,查找资料后发现微软从vs2010 版本后不再提供自带的安装工程,尝试着利用  ...

  6. InstallShield Limited Edition for Visual Studio 2013

    InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET Framework进去)本文转自“吾乐吧软件站”,原文链接:h ...

  7. InstallShield Limited Edition Project 打包windows服务解析

    最近项目从vs2005 升级到vs2010后,发现新的vs2010 不再带有原来的安装工程项目,导致以前的安装包不可以使用,查找资料后发现微软从vs2010 版本后不再提供自带的安装工程,尝试着利用  ...

  8. InstallShield Limited Edition for Visual Studio 2013 图文教程打包安装包

    http://www.wuleba.com/23892.html 从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“Inst ...

  9. VS 之 InstallShield Limited Edition for Visual Studio 2015 图文教程

    从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“InstallShield Limited Edition for Vis ...

随机推荐

  1. U盘占空间,但看不到内容——解决方案

    原因: u盘感染了病毒 .病毒把U盘里的文件都加上了隐藏属性和系统属性,所以看不到了,但仍占用存储空间. 解决办法: 1.在“运行“里面输入:cmd,回车:2.在cmd中进入U盘.比如你的U盘是H盘, ...

  2. MSVCRTD.lib(mfc.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainC (转)

    一.问题描述 我所使用的编程环境:VS2010 出现的问题如下: MSVCRTD.lib(mfc.obj) : error LNK2019: 无法解析的外部符号_WinMain@16,该符号在函数 _ ...

  3. java-代理模式及动态代理

    代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问.在考虑到性能或安全等因素的情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. ...

  4. javascriptone

    var start=Date.now();document.write("<h1>This is a paragraph.</h1>");function ...

  5. 软件工程课设day3

    下载昨日新版本程序,完成修复项目的测试. 与组内成员讨论,确认项目新模块功能“吐槽墙”的设计方向与实现形式——因为项目为便捷工具类,社区形式的实现方式与项目本质背道而驰.因此决定以“点击目标课程条目, ...

  6. mongodb(分片)

    分片(即sharding)是将数据拆分至不同数据节点的方式. 1.在mongoDB中提供了自动分片的方式,它会根据数据块(chunk)大小的设定,对片键进行拆分: 2.mongoDB配置分片,要配置三 ...

  7. [.net 面向对象程序设计进阶] (5) Lamda表达式(一) 创建委托

    [.net 面向对象程序设计进阶] (5) Lamda表达式(一)  创建委托 本节导读: 通过学习Lambda表达式,学会创建委托和表达式目录树,深入了解Lambda的特性,让你的代码变的更加清晰. ...

  8. [每日电路图] 1、基于AT89C52单片机最小系统接口电路【转】

              come from:http://www.21ic.com/dianlu/basis/interface/2015-04-21/621607.htm AT89C52是美国Atmel ...

  9. Beauty Contest

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28417#problem/F 题目大意:给n个点,求相聚最远距离的平方(输出整形) 集体思 ...

  10. Yii Model中添加默认搜索条件

    在查询中增加条件 public function defaultScope() { return array( 'condition' => " is_deleted = 0" ...