Installshield 2015/2018 Express未注册COM服务器库

Installshield 2015/2018 Express未注册COM服务器库,com,installshield,dllregistration,Com,Installshield,Dllregistration,我的Delphi应用程序的一个安装程序项目可以正常工作,因为它在目标计算机上正确复制并注册了COM服务器DLL。这是使用Installshield 2015 Express构建的 运行安装程序的计算机或我创建安装程序的计算机最近对Windows 10的更新似乎破坏了COM注册过程 现在,当我构建时,它给了我大量的警告信息: ISEXP:警告-4354:生成无法提取COM信息 从文件C:\InstallShield 2018 Projects\Current\Server 库\COMServer.

我的Delphi应用程序的一个安装程序项目可以正常工作,因为它在目标计算机上正确复制并注册了COM服务器DLL。这是使用Installshield 2015 Express构建的

运行安装程序的计算机或我创建安装程序的计算机最近对Windows 10的更新似乎破坏了COM注册过程

现在,当我构建时,它给了我大量的警告信息:

ISEXP:警告-4354:生成无法提取COM信息 从文件C:\InstallShield 2018 Projects\Current\Server 库\COMServer.dll组件中的COMServer.dll。请确保 文件是自注册的,请验证自注册 这个过程不会失败

运行安装程序后,通过检查注册表,我可以看到COM服务器DLL没有注册,因为它们的CLSID信息丢失。如果我打开一个提升的命令提示符并使用regsvr32注册DLL,它们就可以了

我尝试了建议的“修复”,例如更改IsCmdBld.exe的兼容性,以管理员身份运行,打开UAC(我从未关闭过它)

我看到的一条评论说,我们需要在安装后运行自定义操作来运行regsvr32,但我认为这就是安装程序中COM注册步骤的全部要点

我还将该项目升级为Installshield 2018 R2 Express,但存在完全相同的问题


即使是一个注册用户,Flexera似乎也无法为我提供任何支持,只是将我指向社区论坛。在这种情况下,我更喜欢SO社区。

事实证明,是安装了InstallShield的Windows版本造成了问题。即使是最新的InstallShield 2019 Professional,COM库也存在同样的问题

在我的Windows10版本1903上,我得到报告的错误,但在Windows7或Windows10版本1607机器上,没有错误发生。它与InstallShield 2015、20182019以及ExpressProfessional版本一起使用


显然,Flexera需要采取一致行动,以确保其程序的旧版本(如
IsCmdBld.exe
)能够在Windows 10更高版本的更严格安全要求下正常工作。

该公司始终,始终知道如何将免费产品的用户转变为付费客户。“抵抗是徒劳的。”汉帕桑说。我们已经是付费客户,但我们的1年白银支持协议到期,如果我们不确定他们是否解决了问题,我们将不再付款。结果证明这是正确的举措。2019年它仍然被打破,但有一个答案。