如何在 32 位 PC 上创建 64 位 InstallShield 安装程序?
How to create a 64bit InstallShield Installer on a 32bit PC?
我正在使用 InstallShield 2014 为内部开发的 64 位应用程序组装一个安装程序。我的工作站是 32 位的。我 运行 收到如下警告。
ISDEV : warning -6248: Could not find dependent file Microsoft.VisualBasic, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file mscorlib, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file Oracle.DataAccess, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System.ComponentModel.DataAnnotations, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System.Core, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System.Data, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System.Xml, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file Microsoft.VisualBasic, or one of its dependencies of component AWP.Shared.Cryptomatic.dll
ISDEV : warning -6248: Could not find dependent file mscorlib, or one of its dependencies of component AWP.Shared.Cryptomatic.dll
ISDEV : warning -6248: Could not find dependent file System, or one of its dependencies of component AWP.Shared.Cryptomatic.dll
当我使用 dependency walker 检查某些文件的依赖关系时,dependency walker 是空的。
是否可以在 32 位计算机上创建 64 位安装程序?如果是这样,我错过了什么?有人能指出我正确的方向吗?谢谢。
编辑:我在页面底部找到了一个可能的解决方案,它说要将组件上的“.NET Scan at Build”属性 更改为 "Properties Only" 的警告。
https://community.flexerasoftware.com/archive/index.php?t-155066.html
绝对有可能在 32 位平台上构建 64 位安装程序,但正如您所发现的,依赖项扫描更加粗糙。这主要是由于 32 位机器无法执行 64 位代码。因此他们无法执行64位COM提取,并且很少收到安装形式的64位依赖,因此扫描代码无法找到他们。
正如您在编辑中指出的那样,通过从动态方法更改为静态包含文件或注册表,您可能会获得最佳结果。作为其中的一部分,最好关闭任何 COM 提取选项(确保包括相关的注册表或 COM table 条目)和包含依赖项的构建时扫描选项,例如更改 .NET 在构建 扫描到 仅属性。
我正在使用 InstallShield 2014 为内部开发的 64 位应用程序组装一个安装程序。我的工作站是 32 位的。我 运行 收到如下警告。
ISDEV : warning -6248: Could not find dependent file Microsoft.VisualBasic, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file mscorlib, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file Oracle.DataAccess, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System.ComponentModel.DataAnnotations, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System.Core, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System.Data, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file System.Xml, or one of its dependencies of component AWP.Models.dll
ISDEV : warning -6248: Could not find dependent file Microsoft.VisualBasic, or one of its dependencies of component AWP.Shared.Cryptomatic.dll
ISDEV : warning -6248: Could not find dependent file mscorlib, or one of its dependencies of component AWP.Shared.Cryptomatic.dll
ISDEV : warning -6248: Could not find dependent file System, or one of its dependencies of component AWP.Shared.Cryptomatic.dll
当我使用 dependency walker 检查某些文件的依赖关系时,dependency walker 是空的。
是否可以在 32 位计算机上创建 64 位安装程序?如果是这样,我错过了什么?有人能指出我正确的方向吗?谢谢。
编辑:我在页面底部找到了一个可能的解决方案,它说要将组件上的“.NET Scan at Build”属性 更改为 "Properties Only" 的警告。
https://community.flexerasoftware.com/archive/index.php?t-155066.html
绝对有可能在 32 位平台上构建 64 位安装程序,但正如您所发现的,依赖项扫描更加粗糙。这主要是由于 32 位机器无法执行 64 位代码。因此他们无法执行64位COM提取,并且很少收到安装形式的64位依赖,因此扫描代码无法找到他们。
正如您在编辑中指出的那样,通过从动态方法更改为静态包含文件或注册表,您可能会获得最佳结果。作为其中的一部分,最好关闭任何 COM 提取选项(确保包括相关的注册表或 COM table 条目)和包含依赖项的构建时扫描选项,例如更改 .NET 在构建 扫描到 仅属性。