【问题标题】:Checking .NET version in Windows Setup Project在 Windows 安装项目中检查 .NET 版本
【发布时间】:2013-10-24 11:02:48
【问题描述】:
在为我的 .NET 2.0 应用程序之一创建 Windows 部署项目时,我注意到在解决方案资源管理器中右键单击“设置”项目并选择属性时,会出现一个先决条件按钮。另外,右键单击“设置”,选择“查看”并选择“启动条件”,我可以指定一些启动条件。
我的要求是安装程序应检查是否安装了 .NET 2.0 或更高版本。如果没有,它应该退出。
这是我的问题-
使用“先决条件”按钮或“启动条件”来包含 .NET 要求?
检查是否成为 exe 或 msi 的一部分?具体来说,我需要为应用程序分发 msi。那么可以在 .NET 的 msi 本身中包含检查吗?
【问题讨论】:
标签:
.net
setup-project
prerequisites
launch-condition
【解决方案1】:
先决条件是您的应用程序需要执行的包(通常来自第 3 个)。它们与启动条件不同,因为如果它们丢失,它们会被安装(从指定的来源)。如果不满足启动条件,则简单地拒绝执行设置。
也就是说:
.NET 要求将使用“先决条件”按钮或“启动条件”包含在内?
使用启动条件,您不会将 .NET Framework 与您的应用程序一起部署(并且您不想链接到在线源),因此您需要先安装它。
检查是否成为 exe 或 msi 的一部分?具体来说,我需要为应用程序分发 msi。那么是否可以在 .NET 的 msi 本身中包含检查?
您设置的所有内容都包含在您的 MSI 文件中,因此您的启动条件将在那里定义。先决条件通过称为 chaining 或 bootstrapping 的进程安装,并由可执行文件(而非 MSI)管理。在您的情况下(因为您不想部署先决条件),您只需要部署 .MSI 文件。