操作系统版本先决条件

时间:2010-09-29 21:32:02

标签: .net windows-installer

我的应用程序至少需要Windows XP SP3。如何在应用程序本身或MSI中检查它并自动安装?

3 个答案:

答案 0 :(得分:4)

在MSI中,您使用LaunchCondition

创作Operating System Properties

您想检查VersionNT> 501或(VersionNT = 501和ServicePackLevel> 2)

(调整以满足您的确切需求)

在Windows Installer XML中,它看起来像:

<Product...>
  <Condition Message="[ProductName] Setup requires Windows XP SP3 or greater to install">VersionNT > 501 or ( VersionNT = 501 and ServicePackLevel > 2 ) or Installed</Condition>
...
</Product>

答案 1 :(得分:0)

我不确定如何在安装之前执行此操作,但我知道在应用程序代码本身中您可以执行此操作...

OperatingSystem os = Environment.OSVersion;
Console.WriteLine("Platform:     " + os.Platform);
Console.WriteLine("Version:      " + os.Version);
Console.WriteLine("Service Pack: " + os.ServicePack);

答案 2 :(得分:-1)

Version winXpSp3 = new Version("5.1.2600.5512"); // to be checked, I don't have XP SP3 available...
if (Environment.OSVersion.Version < winXpSp3)
{
    MessageBox.Show("You need Windows XP SP3 or later");
    ...
}

您可以在自定义安装程序步骤 中使用该代码(显然不是,根据Christopher Painter ...我仍然保留代码,它仍然可以帮助其他环境中的某人)< / em>的