【问题标题】:Visual studio installer project doesn't run installer classVisual Studio 安装程序项目不运行安装程序类
【发布时间】:2024-12-16 22:35:01
【问题描述】:

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

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

我终于通过在 install 方法上除以零发现了这一点。我收到 64 位错误,但 32 位似乎没有运行安装程序。有什么线索可以说明原因吗?

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

【问题讨论】:

  • "虽然是 64 位。"项目是否包含 64bit 类?
  • 该项目在适当的平台上构建,64 位安装程序获得 64 构建,32 和 32 构建。如果我手动进行 .dll 注册,该项目正在运行,所以没关系。唯一的问题是安装类没有在 32 位上运行。

标签: c# .net ieaddon


【解决方案1】:

我已经让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 的那个上。

【讨论】:

  • 我暂时不接受这个答案,因为它并不能真正解释发生了什么,但是遇到这个问题的人可以通过这种方式解决。
最近更新 更多