使用 MSI 在我的应用程序中安装 .NET Framework
我在VS2008中创建了一个安装项目。 我的 WinForms 应用程序使用 .NET 2.0,因此我选择了 .NET 2.0 Prerequisity 并构建了安装项目。
当我在干净的 PC 上运行 Setup.msi 时,它会正确检测到 .NET 丢失并询问是否应安装它。 成功安装 .NET 后,安装程序会直接退出,不会继续安装我的应用程序(我认为应该这样做)。
当我在已安装 .NET 的 PC 上运行 MSI 文件时,我的应用程序安装正确。
有没有办法一次性安装 .NET 2.0 和我的应用程序?
I have created a setup project in VS2008. My WinForms app uses .NET 2.0, so I chose .NET 2.0 Prerequisity and built the setup project.
When I run my Setup.msi on a clean PC, it correctly detects that the .NET is missing and asks if it should be installed. After a successful installation of the .NET, the installer simply exits and doesn't continue with installation of my app (I think it should).
When I run the MSI file on a PC with .NET already installed, my app installs correctly.
Is there any way how to install .NET 2.0 and my app together in one step?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您是如何安装该产品的?
安装项目将输出两个文件:
引导程序将检查是否存在您指定的任何先决条件,如果满足,则可能会下载并安装它。它尚未安装然后继续安装您的应用程序(通过调用 .msi)。
因此,您应该始终启动 setup.exe 来安装应用程序,而不是 .msi 文件(除非您知道所有先决条件都在目标系统上)。
正如 Krakkos 所说,引导程序将安装先决条件和您的应用程序(即您的 .msi 文件)。 但是,我不知道有任何配置设置会阻止引导程序安装 msi。
要排除故障,您可以尝试创建安装日志并在日志文件中查找任何问题。
How did you install the product?
The setup project will output two files:
The bootstrapper will check for the presence of any pre-requisite that you specified and possibly download and install it if it is not installed yet and then continue to install your application (by calling the .msi).
Therefore you should always start the setup.exe to install your application and not the .msi file (unless you know that all pre-requisites are on the target system).
As Krakkos says, the bootstrapper will install both the pre-requisites and your application (i.e. your .msi file). However, I'm not aware of any configuration settings which would prevent the bootstrapper from installing the msi.
To troubleshoot you could try to create a log of your installation and look for any problems in the log file.
谢谢 Divo,
我正在运行 MSI 文件。
运行Setup.EXE 文件时有什么限制吗? 如果我没记错的话,我曾尝试在 Windows 2000 上运行它,但它没有运行。 我只能运行 MSI 文件。 我将检查一台装有干净 Win2000 的 PC,然后再回来。
编辑:我已经在干净的 Windows 2000 SP4 上尝试过,结果如下:
然后我手动安装 Windows Installer 3.1:
在 Windows XP 上,Setup.exe 运行没有任何问题。
似乎使用 Win2000 的用户必须通过安装 Windows Installer 3.1、.NET 2.0,然后安装我的应用程序来手动安装我的应用程序。 即使手动安装.NET,在Win2000 SP4下Setup.exe仍会显示相同的错误消息。
编辑:Win 2000 问题可以通过安装 Windows 2000 SP4 更新汇总 1 (KB891861)。
Thanks Divo,
I was running the MSI file.
Are there any limitations when running the Setup.EXE file? If I remeber correctly, I tried once to run it on Windows 2000 and it didn't run. I was able to run only the MSI file. I am going to check on a PC with clean Win2000 and come back.
EDIT: I have tried it on clean Windows 2000 SP4 and here are the results:
Then I manually installed Windows Installer 3.1:
On Windows XP, the Setup.exe runs without any problems.
It seems that users with Win2000 will have to install my app manually by installing Windows Installer 3.1, .NET 2.0 and then my app. Even when .NET is manually installed, the Setup.exe will still show the same error message under Win2000 SP4.
EDIT: The Win 2000 issue can be fixed by installing the Update Rollup 1 for Windows 2000 SP4 (KB891861).
这一集 Hanselmillions 详细介绍了 Paint.Net 如何安排下载& 按需安装所需的.NET框架,并与应用程序安装集成。 诚然,这可能比大多数应用程序所需的要复杂得多,但仍然是一个有趣的讨论。
This episode of Hanselminutes goes into great detail about how Paint.Net arranges for downloading & installing the required .NET framework on demand, and integrating with the application installation. Admittedly this is probably way more complex that most applications require, but is an interesting discussion nonetheless.