之前版本的Visual Stuido中安装项目均可以使用微软自家的Visual Studio Installer,可是到了VS2012这一切都变了,只能用InstallShield Limited Edition。为这个鬼东西折腾了几天,把经验分享出来,留个脚印,以避免一样上当。web
首先,从VS2012开始,之前的Visual Studio Installer不复存在,打开VS2012,新建项目中的“安装和部署”项目模版,多了一个“启用InstallShield Limited Edition”,双击能够获得这个东东的下载页面,直接用邮箱进行注册后,会发下载地址和注册码到邮箱。为了不麻烦,本文后面有下载地址,并提供了一组注册码。ide
其次,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。。。。”ui
意思大概就是“InstallShield 软件从VS2010版本就开始包括在VS中,它不是微软的软件,因此VS不提供支持和更新,若是对InstallShield有疑问,能够到官方网站去。。。”this
我次奥,这不是明显的坑爹吗,不是你的产品,不提供支持,你还替代本身的东东,拿来用。。lua
其实VS2010也可使用InstallShield Limited Edition,不过VS2010同时还能使用Visual Stuido Installer。之前这个问题估计不少人没注意。致使VS2012开始,只能使用InstallShield Limited Edition的时候,有些人措手不及,包括我本身。spa
InstallShield Limited Edition的常规安装项目,其实也很简单,简单的设置一下就能够了,我在最后提供一篇网上下载的PDF图文教程,通常安装那上面的顺序,就没问题。常规安装项目,是指简单的复制.NET项目的生成文件到系统目录,搞搞快捷方式,设置一些安装界面和软件信息等。特殊一点的安装固然就是后面所说的有关com组件和ActiveX控件的安装。.net
问题起源于VS2010的一个ActiveX控件安装项目,到VS2012后,使用InstallShield Limited Edition安装基本的使用过程,都会出现一个“Q109435: Error -6109 Internal build error.”的错误 。通过在InstallShield官网的一番折腾,找到了可能缘由之一:因为开发机可能已经注册或安装过次控件,致使在生成时不能注册和注销成功。后来手动打开regedit进行查找,把该控件的注册表条目都删除,果真生成成功了。狂喜了好一阵,没想到,这还只是开始;orm
生成成功后,我想固然,安装确定没问题,结果,又来了:错误:-1605 此操做只对当前安装产品有效 。又搞了一阵,无果,最终决定放弃。采用installShield2010的破解版来试试,installShield2010专业版功能固然更强大一点,搞了一夜,安装包是没错误,但在安装的时候仍是com组件注册错误,我崩溃了,最终采用了备用方案,完全放弃“InstallShield Limited Edition”
为了解决VS2012开发打包ActiveX控件的问题,只能采用这个备用方案了,确定能够解决问题,只不过不是最好的方法,好在能解决。
方法很简单“VS2012开发,VS2010的Visual Studio Installer打包,1个项目2个解决方案文件便可”
ActiveX控件的注册用Visual Stuido Installer是很容易解决和制做的(已经成功过)。所以VS2012开发后,使用VS2010打包是彻底没问题,也没冲突的。可是如今.NET 4.5出来了,用.net 4.5制做的,能不能作,还有点不太肯定,我想一想问题应该不大,由于ActiveX注册和注册表有关,和.net版本关系貌似不大。
其实使用专业版本的项目打包工具,确定也能解决,只不太小东西,花那么多时间去从新搞,不必。
VS2012中的InstallShield Limited Edition下载及注册码,因为快盘没法分享,且时间已久,源文件已经丢失。
须要的朋友,仍是去官方网站注册,而后获取最新版本,而后进行注册获取注册码。有免费版能够用,虽然麻烦点。