65.9K
CodeProject 正在变化。 阅读更多。
Home

一站式.NET部署

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.05/5 (16投票s)

2003年3月4日

3分钟阅读

viewsIcon

153753

downloadIcon

374

使用你的应用程序安装 .NET framework。

引言

我最近在部署我的第一个 .NET 应用程序时遇到了一个问题。 当你创建一个 MSI 安装文件时,你无法让它同时安装 .NET framework。 我做了一些研究,发现微软确实有一些 C++ 代码,你可以修改它来为你安装 .NET framework。 我对 C++ 代码知之甚少,确实让它编译并在 MSI 文件之前安装了 .NET framework,但我需要它做更多的事情。

  • 检查计算机是否具有安装 .NET framework 的最低要求。
  • 安装 ADO 2.7 SP1。
  • 安装 .NET Framework SP2。

代码

所以,我启动了旧的 Visual Studio 6 并开始编写一个 VB .exe 来安装这些程序。 我知道我的大部分受众都会有 VB6 运行时,因为有些人会在使用 VB6 编写的系统上使用一些应用程序。

为了让我的工作更容易一些,我寻找了一个可以使用的对象,它能为我检测操作系统。 我找到了 Eswar Santhosh 编写的一个,可以在 这里 找到,我已经问过他是否可以将它包含在我的帖子中。

然后我继续从 Google Groups 获取了一些代码片段,只使用 API 调用来读取注册表。 我这样做是因为我不希望依赖于 VB 运行时之外的任何东西。 我还获取了一些代码来使用 Windows API 调用来执行命令行字符串。

然后我编写了一系列 if 语句,以确保它们正在运行 Windows 98 或更高版本。 我检查以确保它们正在运行 IE 5.01 或更高版本。 我检查以确保如果它们正在运行 Windows 2000,则它们具有 SP2 或更高版本。 最后的检查是如果它们正在运行 NT4,则它们正在运行 SP6。

之后,很容易编写几个语句来执行安装代码。 要使其全部运行,您需要拥有这些下载,包括本文的源代码。

进入并创建您的 MSI 文件。 完成后,将其创建的所有内容(InstMsiA.ExeInstMsiW.ExeSetup.ExeSetup.Ini)复制到一个空目录中。 将 Setup.exe 重命名为 MsiSetup.exe。 将 Setup.ini 文件重命名为 MsiSetup.ini。 现在将我的源代码附带的 setup.exe 文件复制到该目录中。 现在您应该能够运行 setup.exe 文件,它将安装您需要的一切。

一些额外的内容

在测试了几次安装后,我回过头来添加了一些用于调试的代码。 我添加了一个标志 /T 用于测试。 它只会进行检查并提醒您如果它要运行它会安装什么。 我还添加了一个显示窗体标志 /D,以便您可以看到安装的当前状态。

摘要

就这样了,我想与大家分享。 我觉得可能还有其他人对此感到沮丧。 我想补充的几件事是,如果是早期版本的 IE,就升级它。 这可能会帮助那些需要前往 400 多个工作站并进行安装的 Help Desk 人员。 该代码尚未在 Windows 98 或 Windows XP 上进行全面测试。 如果您发现任何问题,请 给我发电子邮件

感谢您听我胡言乱语。

© . All rights reserved.