gpt4 book ai didi

inno-setup - 如何使 Inno Setup 安装程序仅安装在服务器版本的 Windows 上

转载 作者:行者123 更新时间:2023-12-05 05:24:38 24 4
gpt4 key购买 nike

在我工作的公司中,我们使用 Inno Setup 来安装我们的软件产品。问题是我们的软件只与 Windows Server 版本兼容。类似于 Windows Server 2008 和 Windows Server 2012。

我想做的是显示一条消息并阻止用户安装非服务器版本。例如 Windows 8 和 7。

我搜索过并可以使用 Windows 内部版本号检查 Windows 版本。但是 Windows 服务器版本的内部版本号与某些台式机相同。可以在这里查看:http://www.jrsoftware.org/ishelp/index.php?topic=winvernotes

有什么方法可以使用 Inno Setup 制作仅安装在服务器版本的 Windows 上的安装程序?

从现在开始,谢谢大家。

最佳答案

你可以测试TWindowsVersion.ProductType GetWindowsVersionEx function 返回来自 InitializeSetup event .

[Code]

function InitializeSetup(): Boolean;
var
Version: TWindowsVersion;
begin
Result := True;

GetWindowsVersionEx(Version);
Log(Format('Product Type is %d', [Version.ProductType]));

if Version.ProductType = VER_NT_WORKSTATION then
begin
MsgBox('This product can be installed on Windows Server only.', mbError, MB_OK);
{ Abort installer }
Result := False;
end;
end;

我一直在防御和测试 Version.ProductType = VER_NT_WORKSTATION .也许你想测试 Version.ProductType <> VER_NT_SERVERVersion.ProductType <> VER_NT_SERVER and Version.ProductType <> VER_NT_DOMAIN_CONTROLLER .

有关更多详细信息,请参阅 wProductType 的文档领域 OSVERSIONINFOEX structure .

另见 What is the simplest way to differentiate between Windows versions?

关于inno-setup - 如何使 Inno Setup 安装程序仅安装在服务器版本的 Windows 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34223660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com