我在VS2008中创建了一个安装项目。我的WinForms应用程序使用.NET 2.0,因此我选择了.NET 2.0 Prerequisity并构建了安装项目。
当我在干净的PC上运行Setup.msi时,它正确检测到.NET丢失并询问是否应该安装它。在成功安装.NET之后,安装程序只是退出并且不继续安装我的应用程序(我认为应该)。
当我在安装了.NET的PC上运行MSI文件时,我的应用程序安装正确。
有没有办法一步一步安装.NET 2.0和我的应用程序?
答案 0 :(得分:7)
您是如何安装产品的?
安装项目将输出两个文件:
引导程序将检查是否存在您指定的任何先决条件,如果尚未安装,则可能下载并安装,然后继续安装您的应用程序(通过调用.msi )。 因此,您应该始终启动setup.exe来安装您的应用程序而不是.msi文件(除非您知道所有先决条件都在目标系统上)。
正如Krakkos所说,引导程序将安装先决条件和您的应用程序(即您的.msi文件)。但是,我不知道任何阻止引导程序安装msi的配置设置。
要进行故障排除,您可以尝试创建安装日志并查找日志文件中的任何问题。
答案 1 :(得分:1)
感谢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,Setup.exe仍将在Win2000 SP4下显示相同的错误消息。
编辑:可以通过安装Update Rollup 1 for Windows 2000 SP4 (KB891861)修复Win 2000问题。
答案 2 :(得分:0)
This episode of Hanselminutes详细介绍了Paint.Net如何安排下载&按需安装所需的.NET框架,并与应用程序安装集成。不可否认,这可能是大多数应用程序所需要的更复杂,但仍然是一个有趣的讨论。