大佬教程收集整理的这篇文章主要介绍了windows-7 – 检查InnoSetup配置文件的[Run]段中的Windows版本,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
[Tasks] Name: "install_usb"; Description: "Install USB driver"; GroupDescription: "Drivers:"; [Files] source: "xy\driver\*"; DestDir: "{tmp}" [Run] Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\driver_32bit.msi"""; StatusMsg: "Installing 32bit USB driver"; check: not IsWin64(); Tasks: install_usb; Flags: skipifsilent Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\driver_64bit.msi"""; StatusMsg: "Installing 64bit USB driver"; check: IsWin64(); Tasks: install_usb; Flags: skipifsilent
因此,用户可以选择是否要安装驱动程序.如果他选择这样做,那么正确的驱动程序就会运行.这很好用.现在,如果> = Win7正在运行,我想选择不安装驱动程序.我读到了关于OnlyBelowVersion:6.1但我似乎无法在[Run]部分做这样的事情:
[Run] ... check: IsWin64() and OnlyBelowVersion:6.1; ...
如何在[Run]部分中使用OnlyBelowVersion(或类似的东西)?
另外,我想确保.msi以正确的模式运行(64位系统的64位模式).因为我认为,现在情况并非如此.有可能强制执行吗?我发现了ArchitecturesInstallIn64BitMode = x64,我在哪里放这个?
OnlyBelowVersion
参数不能在
Check
语句中使用,而是作为单独的参数.
[Run] Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\driver_32bit.msi"""; OnlyBelowVersion: 6.1; StatusMsg: "Installing 32bit USB driver"; check: not IsWin64(); Tasks: install_usb; Flags: skipifsilent Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\driver_64bit.msi"""; OnlyBelowVersion: 6.1; StatusMsg: "Installing 64bit USB driver"; check: IsWin64(); Tasks: install_usb; Flags: skipifsilent
对于第二个问题,IsWin64
函数在所有64位版本的Windows上都返回True,这就是你的正确答案.从参考:
This function will always return True on an x64 edition of Windows.
要以64位模式运行InnoSetup安装,您已正确提到,您需要至少指定ArchitecturesInstallIn64BitMode
指令.如果您指定此指令至少包含一个可用值,则您的设置将在具有您指定的处理器体系结构的计算机上以64位模式运行,如果在具有x86处理器的计算机上运行设置,则以32位模式运行.
以上是大佬教程为你收集整理的windows-7 – 检查InnoSetup配置文件的[Run]段中的Windows版本全部内容,希望文章能够帮你解决windows-7 – 检查InnoSetup配置文件的[Run]段中的Windows版本所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。