首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InstallShield 2010 Premiere: 64位和32位驱动程序安装

InstallShield 2010 Premiere: 64位和32位驱动程序安装
EN

Stack Overflow用户
提问于 2009-12-30 09:04:02
回答 4查看 7.2K关注 0票数 0

我正在使用InstallShield 2010 Premiere。

我有一个基本的MSI项目,使用驱动程序向导和DifxApp安装应用程序和32位驱动程序。

我正在尝试添加一个64位驱动程序,如果系统是64位的话,它将被安装。但是,当添加此64位驱动程序时,安装(在32位系统上)失败,我在MSI日志中发现的唯一问题是:

MSIProcessDrivers返回值3。

我甚至没能在64位系统上试用。

是否有一种使用单个安装程序文件来完成此操作的方法?

编辑:我注意到问题在于DifxApp.dll。根据为驱动程序选择的最后一个体系结构,安装屏蔽只保存一个dll :如果我有两个驱动程序,并且设置其中一个驱动程序为目标x64,则DifxApp.dll将是x64之一,而在选择x32时则相反。

我可以手动插入x64 & x32 DifxApp.dll,但是我想不出如何使Installshield创建的自定义操作有条件地接受x32或x64 dll。

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-06 08:09:23

由于我未能使用InstallShield向导找到适当的解决方案,所以我回到了自己的自定义操作,即调用DPInst.exe。每个自定义操作都根据操作系统的类型有条件地触发。64位自定义操作将调用DPInst.exe 64位版本,32位也是如此。

票数 1
EN

Stack Overflow用户

发布于 2010-08-27 09:34:09

不可能在一个安装程序中对DIFx和x64进行配置。必须是两个包,并且在这些包中根据操作系统的喜好修改difxapp(a).dll的引用。

所以我的方法是:

  • 1个安装包
  • 2释放标志x86和x64,包含对驱动程序的引用(例如,都配置为x86)
  • 使用相关的发布标志构建x86包
  • 通过自动化修改difx对x64的引用
  • 使用相关的发布标志构建x64包

另外,这两个包都必须具有相关的启动条件,才不会在另一个OS版本上运行它们。

托拜厄斯

票数 1
EN

Stack Overflow用户

发布于 2009-12-31 09:58:37

您的安装程序似乎缺少组件条件。您应该在不同的组件中设置x32和x64驱动程序,并通过测试VersionNT64属性有条件地安装每个驱动程序。

例如: x64组件将以"VersionNT64“作为条件,而x32组件将具有"Not VersionNT64”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1979173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档