我为该工具创建了一个小型C#工具和一个安装程序项目,我的工具使用.net框架4.6。客户端使用版本3.5(Windows 7 SP1 32位) - 一切正常。
Setup-Project检测到先决条件版本并开始安装dotNetFx45_Full_x86_x64.exe
但是在安装dotnetfx之后,安装项目没有重新启动。安装dotnetfx后是否可以重新启动Setup.exe?
我想是的,可能有以下参数 / norestart / ChainingPackage
但是如何将此参数传递给dotnetfx.exe?
我当前的设置文件夹:
/Setup.exe
/DotNetFX45/dotNetFx45_Full_x86_x64.exe
/DotNetFX45/dotNetFx45LP_Full_x86_x64de.exe
或者我应该使用以下设置文件夹:
/Setup.exe
/dotNetFx45_Full_x86_x64.exe
/dotNetFx45LP_Full_x86_x64de.exe
感谢。
答案 0 :(得分:0)
根据您的要求,您可以查看:.NET Framework Deployment Guide for Developers
在目标计算机上部署.NET Framework版本有三种方法,您可以直接将.NET Framework指定为应用程序安装的先决条件,或者在应用程序的设置中链接.NET Framework设置过程。
当您尝试将.NET Framework可再发行链接到应用程序的设置时,会描述一些有用的命令行选项,例如 / chainingpackage packageName,/ norestart,/ q ....您可以使用这些参数和设置文件夹结构进行测试,检查它是否符合您的想法。
答案 1 :(得分:0)
这可能与操作系统设置或防病毒软件有关,因为我认为它应该在重新启动后重新启动setup.exe,它再次通过先决条件检查并继续。有时Windows和AV软件设置为阻止重启后自动运行。因此,在NETFx安装之后,当安装程序要求重新启动时,请查看HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run和HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce密钥(以及HKCU中的等价物)看看那里是否有任何条目,因为这通常是重启后尝试重启的方式。如果条目在那里,那么看起来你的操作系统中存在阻止自动重启的东西,这是一个可以理解的安全功能。
更改命令行以执行/ norestart选项要求您在Visual Studio中打开setup.exe代码文件(作为文件打开)并进入资源设置,其中有一个包含命令行的嵌入式清单.NET Framework - 您将更改它并保存代码文件。如果您在设置中有托管代码自定义操作,则推迟重新启动可能会出现问题,因为严格来说,在需要重新启动之后,框架安装才会完全安装。