【问题标题】:Using dotNetInstaller to check whether SQL Server 2008 is installed使用 dotNetInstaller 检查是否安装了 SQL Server 2008
【发布时间】:2012-04-18 10:04:57
【问题描述】:

我正在尝试为需要Microsoft SQL Server 2005 向后兼容组件的应用程序创建一个带有dotNetInstaller 的引导程序。我已经使用预构建的组件添加了一个检查。

一切都很好,直到我意识到我需要在安装 Microsoft SQL Server 2005 向后兼容组件之前检查 SQL Server 2008 安装

这是我卡住的地方,在微软的下载页面中,我仔细检查了 Microsoft SQL Server 2005 向后兼容组件的系统要求,其中没有说明机器需要 SQL Server 2008已安装。

如果需要为 Microsoft SQL Server 2005 向后兼容组件安装 SQL Server 2008,那么我想检查是否安装了 SQL Server 2008,如果没有,则跳过安装 Microsoft SQL Server 2005 向后兼容组件并继续为我的产品安装。

【问题讨论】:

    标签: .net installation bootstrapper dotnetinstaller


    【解决方案1】:

    我还没有使用过 dotNetInstaller,但是您可以从注册表中获取已安装 SQL Server 的当前版本:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup\CurrentVersion
    

    如果该条目存在,则表示已安装 SQL Server 2008。

    如果未安装 SQL Server 2008,则不应存在注册表项。不过,您可能想检查卸载时会发生什么。我不知道该条目是否仍然存在。

    环顾四周,我认为您可以使用 check_registry_value 安装检查检查 dotNetInstaller 中的注册表值。

    【讨论】:

    • SQL Server 2008 R2 怎么样。经过一番折腾,我找到了类似SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\SQLEXPRESS 的东西,其值应该是MSSQL10_50.SQLEXPRESS。这行得通吗?
    • 嗯,不确定 SQL Express。但我希望 SQL Server 2008 R2 也位于我提到的注册表项下,因为这仍然是 9.0 版。在 CurrentVersion 键中,应该有更多关于它是什么确切版本的信息(R2 与否,Service Packs,...)。您可以在此处查看有关 SQL Server 版本的信息:support.microsoft.com/kb/321185
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 2011-09-28
    相关资源
    最近更新 更多