ISICE07:Component ...已安装到全局程序集缓存中。这需要豁免

时间:2015-08-17 15:12:53

标签: .net .net-assembly installshield

将程序集安装到GAC似乎非常难以正确执行。 SO上有很多页面描述了如何操作。我选择了一个说该文件作为组件添加到InstallShield中的MSI安装程序并将目标设置为GlobalAssemblyCache。当我这样做时,我得到一个似乎没有其他人遇到的错误,所以也许它是InstallShield 2015的新功能:

  

ISDEV:错误ISICE07:已安装组件TestLib.Primary_output   到全球大会缓存。这需要豁免Windows 7   徽标认证。组件目录_ TestLib.Primary_output

必须有一种正确的方法将程序集安装到GAC中。它与GacUtil无关。这仅用于开发目的。它不是直接复制到Windows \ assembly,因为它可以根据.NET的版本移动,也可能是其他原因。显然不是通过在InstallShield中将安装目标设置为GlobalAssemblyCache。

修改 我设法禁用InstallShield中的验证,这会影响在Visual Studio中创建的Install项目。现在我可以安装并在GAC中查看程序集。但我不认为这是对此验证错误的完整答案。如果这不是将程序集安装到GAC的正确方法,那么

1 个答案:

答案 0 :(得分:0)

现代安装程序更能让事情在GAC之外运行,而不是我意识到的。我也忘记了可能涉及的无注册COM激活。我认为我现在的答案是避免使用GAC。我试图安装到GAC中的组件在GAC之外工作得很好。它们依赖于MMC管理单元,但InstallShield / MSI似乎神奇地弄清楚如何安装所有组件,以便它们在不使用GAC的情况下工作。