使用VS Installer Projects 2022部署时.NET Runtime未自动安装问题
排查与修复步骤
确认安装项目的目标平台
你选的是x64版本的Runtime,必须保证安装项目的目标平台也是x64。如果是Any CPU或x86,会导致Runtime检测逻辑出错,跳过安装。操作:右键安装项目 → 属性 → 目标平台,选择x64。检查Prerequisites的下载源设置
默认下载源可能因为网络问题无法获取安装包,导致Runtime没装上。可以切换到本地源:右键安装项目 → 属性 → Prerequisites → 选择“从与我的应用程序相同的位置下载”,提前把windowsdesktop-runtime-8.0.7-win-x64.exe下载到安装项目的输出目录,这样安装时会直接调用本地文件。核对WinForms项目的配置
确保WinForms项目的目标框架是.NET 8.0,平台目标也设为x64,和安装项目的平台保持一致。另外检查发布设置,不要选成“依赖框架但不包含Runtime”,避免依赖检测逻辑混乱。手动添加Runtime安装逻辑
如果自动安装失效,直接把Runtime安装包添加到安装项目的文件列表里,然后在自定义操作中添加一个前置步骤,运行该exe,参数用/quiet /norestart实现静默安装,强制在主程序安装前部署Runtime。验证注册表检测项
微软的Prerequisites通过注册表检测Runtime是否存在,目标机器上可以查看HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v8.0\下的Desktop Runtime条目,确认版本号是否为8.0.7。如果检测条件不匹配,安装包会跳过Runtime安装。
验证方法
安装完成后,在目标机器打开命令提示符,运行dotnet --list-runtimes,查看是否有Microsoft.WindowsDesktop.App 8.0.7 [x64]的条目,没有的话说明Runtime确实没装上,需要重新排查配置。
内容的提问来源于stack exchange,提问作者Kevin Gersitz

