我刚刚从 VS 2010 升级(如果你可以称之为升级)到 VS 2012。他们现在强迫你使用 installshield Essentials,这是垃圾,你需要牺牲一只鸡,同时执行撒旦仪式来让它工作。
所以我的问题是,我可以手动安装 ADDIN 吗?我知道需要哪些注册表项。我问是因为我想知道我是否可以构建插件,然后获取第三方安装程序并使用它。
MS插件似乎也使用VSTO,我可以不使用简单的DLL吗?我问是因为我看到我的 NOD32 防病毒插件是一个简单的 DLL。
我刚刚从 VS 2010 升级(如果你可以称之为升级)到 VS 2012。他们现在强迫你使用 installshield Essentials,这是垃圾,你需要牺牲一只鸡,同时执行撒旦仪式来让它工作。
所以我的问题是,我可以手动安装 ADDIN 吗?我知道需要哪些注册表项。我问是因为我想知道我是否可以构建插件,然后获取第三方安装程序并使用它。
MS插件似乎也使用VSTO,我可以不使用简单的DLL吗?我问是因为我看到我的 NOD32 防病毒插件是一个简单的 DLL。
当然,您根本不必使用 VSTO。在底层,您的 COM 插件只是一个进程内 COM 服务器 (dll)。外接程序公开的 COM 对象必须实现 IDTExtensibility2 接口。就是这样,没有其他要求。
FWIW,我编写了大约 10 个 VSTO 插件安装程序,其中一半使用 InstallShield Limited Edition。一旦您完全了解部署要求以及如何使用这些工具,它实际上会非常有效。ISLE 的主要问题是它确实隐藏了 Windows Installer 中的许多功能,而 InstallShield Professional Edition 更充分地发挥了这种功能。
ISLE 允许您使用设置先决条件(.PRQ 文件),但不提供编辑器来根据需要调整它们。使用 InstallShield 的评估版本,然后将更改反向移植到 ISLE 可以很好地工作。此外,使用 Windows Installer XML (WiX) 创建由 ISLE 使用的合并模块可以解决大多数其他问题。
我已经将这种类型的安装程序模板缩减到每个项目花费不到 8 小时的时间,包括项目管理、测试和关闭。安装程序的新手应该需要几个月的时间才能获得“似乎”工作的东西。
是的,在安装程序中包含 DLL、VSTO 清单文件并按照文档创建注册表项就足够了。通过这种方式,您可以使用任何集成在 VS 中的工具创建安装程序,例如Wix或Advanced Installer(免责声明:我致力于它的开发)。它们都是免费的,可以满足您的需求。