1

我有一个带有两个安装程序的 ie 扩展程序,一个用于 64 位,一个用于 32。经过几天的试验和错误安装程序没有正确注册扩展程序,我发现 32 位安装程序没有运行我的安装程序类,而一个是64位。

两者的设置完全相同。具体来说,InstallClass 在所有自定义操作上都设置为 true。

我终于通过在安装方法上除以零发现了这一点。我收到了 64 位错误,但 32 位似乎没有运行安装程序。关于这个原因的任何线索?

我正在使用 vs 2017 企业版,我必须在其上安装 Visual Studio 安装程序项目的扩展。该扩展针对 Framework 4 客户端配置文件。

4

1 回答 1

0

我已经让32位安装程序运行安装类,方法很简单,但我对因果关系不了解。我所做的只是从 gac 中删除 dll(这是我手动注册时添加的):

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\Bin\NETFX 4.6.1 Tools\gacutil.exe" /u "extension.dll"

由于某种原因,当程序集在 gac 上时,安装程​​序没有运行。我只能猜测以前的版本在那里,所以我在安装程序上抛出的异常从未应用过。这意味着安装程序类确实运行了,只是不是在我当时安装的 dll 上,而是在 gac 的那个上。

于 2018-07-06T12:19:08.870 回答