【吐槽】VS2012的安装项目只能用InstallShield Limited Edition

简介:

  以前版本的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下载及注册码,由于快盘无法分享,且时间已久,源文件已经丢失。

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




本文转自数据之巅博客园博客,原文链接:http://www.cnblogs.com/asxinyu/p/3306992.html,如需转载请自行联系原作者

相关文章
|
C# 数据库
C# DataGridView用法(—)代码绑定数据源
C# DataGridView用法(—)代码绑定数据源
807 1
|
机器学习/深度学习 编解码 文件存储
YOLOv8改进 | 2023Neck篇 | BiFPN双向特征金字塔网络(附yaml文件+代码)
YOLOv8改进 | 2023Neck篇 | BiFPN双向特征金字塔网络(附yaml文件+代码)
1815 0
|
Linux iOS开发 MacOS
Python 工具和库:解释什么是虚拟环境(Virtual Environment)?为什么要使用它?
Python 工具和库:解释什么是虚拟环境(Virtual Environment)?为什么要使用它?
1140 0
|
存储 Java 中间件
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
1458 100
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
|
Rust 数据挖掘 数据处理
Polars库:数据分析的新星,性能与易用性的完美结合
Polars库:数据分析的新星,性能与易用性的完美结合
953 1
|
图形学
Unity UGUI实现鼠标拖动图片
在 Unity UGUI 中实现鼠标拖动图片功能,主要涉及事件检测、坐标转换和物体位置更新。根据鼠标移动量更新图片位置。代码示例展示了如何通过这些步骤实现拖动效果。
|
11月前
|
安全 关系型数据库 Java
Debian 12.10 “Bookworm” 发布 - 通用操作系统
Debian 12.10 发布于 2025 年 3 月 15 日,常规安全更新和错误修复。
1037 13
Debian 12.10 “Bookworm” 发布 - 通用操作系统
|
机器学习/深度学习 存储 自然语言处理
《神经符号计算:为自然语言处理开启新大门》
神经符号计算融合了神经网络和符号方法的优势,为自然语言处理(NLP)带来新契机。它结合了神经网络强大的特征提取能力和符号推理的逻辑分析能力,提升了语义理解的精准度,特别是在处理隐喻、模糊语言时表现突出。通过将知识图谱与神经网络结合,神经符号计算增强了多步推理能力,并实现了知识图谱的自动化更新。此外,它还提高了模型的可解释性和可信度,有助于突破黑盒限制,增强用户信任。尽管面临一些挑战,但其潜力巨大,有望推动NLP迈向更高智能水平。
473 13
uniapp带参数跳转,新页面接收参数
uniapp带参数跳转,新页面接收参数
535 0
|
Linux SoC
Linux设备树(DTS)
Dts:DTS即Device Tree Source,是一个文本形式的文件,用于描述硬件信息。一般都是固定信息,无法变更,无法overlay。 设备树由来 linux内核源码中,之前充斥着大量的平台相关(platform Device)配置,而这些代码大多是杂乱且重复的,这使得ARM体系结构的代码维护者和内核维护者在发布一个新的版本的时候有大量的工作要做,以至于LinusTorvalds 在2011年3月17日的ARM Linux邮件列表中宣称“Gaah.Guys,this whole ARM thing is a f*cking pain in the ass”这使得整个ARM社区不得不
441 1
Linux设备树(DTS)