我正在尝试在我创建的安装包中使用 Inno Setup 注册一个 COM DLL。在 Vista 上进行测试安装期间,我收到此错误:
无法注册 DLL/OCX:RegSvr32 失败,退出代码为 0xC0000005
我单击“忽略”,我的应用程序似乎已安装,但我必须打开命令提示符(以管理员身份),然后打开 regsvr32 来安装 COM DLL。有没有办法在 Inno Setup 中自动执行此操作?
我正在尝试在我创建的安装包中使用 Inno Setup 注册一个 COM DLL。在 Vista 上进行测试安装期间,我收到此错误:
无法注册 DLL/OCX:RegSvr32 失败,退出代码为 0xC0000005
我单击“忽略”,我的应用程序似乎已安装,但我必须打开命令提示符(以管理员身份),然后打开 regsvr32 来安装 COM DLL。有没有办法在 Inno Setup 中自动执行此操作?
不要使用自行注册(即),Microsoft 在Windows Installer 文档regsvr32
中提供了有关原因的更多信息。
最常见的是,当自注册过程发生时,您的应用程序正在寻找的某些依赖项尚不存在(即与您的应用程序一起部署的 Microsoft DLL)。
InnoSetup 可以写入注册表项吗?这regsvr32
就是完成的全部......您可以使用 WiX 工具 heat 来提取regsvr32
将放置的相关注册表信息,然后将其手动移植回 InnoSetup 代码。
0xC0000005 = EXCEPTION_ACCESS_VIOLATION
DLL 正在做一些导致 regsvr32 崩溃的事情。