我已经在Visual Studio 2013中为我的应用程序添加了一个安装部署项目,以便为我的应用程序生成安装向导,并生成一个Setup.msi -File用于提供静音安装。启动条件防止静默安装(Application + .Net Framework)
执行msiexec /i "<PathToSetupDirectory>\Setup.msi" /qb!
按预期工作。我的应用程序默默安装。但我的C#应用程序依赖于.Net-Framework 4.5.1。如果未安装,则启动条件提高:
此安装程序需要.NET Framework版本VersionNumber。请安装.NET Framework并再次运行此安装程序。 .NET Framework可以从Web获得。你想现在就做这个吗?
当然我不喜欢这样做。这应该自动工作。
所以我选择的框架Setup Deployment Project (right click) => Properties => Prerequisites...
,检查“下载前提条件从相同的位置,我的应用程序”并添加NDP451-KB2858728-x86-x64-AllOS-ENU.exe
到目录C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\DotNetFX451
。
我的愿望是,如果框架尚未安装,Setup.msi不会显示启动条件的消息。它应该只需安装.Net Framework和应用程序后续字符,而无需任何用户交互。但它仍然显示出来。按否导致退出安装。按是的导致打开浏览器并退出安装。
当然,我可以编写一个bash脚本,在必要时默默安装.Net Framework,并最终启动我的应用程序的静默安装。但我想实现这个“正确的方式”。我有这种感觉,我错过了 的东西。
任何想法?
我已经试过了图形化设置界面(SETUP.EXE)。在这里可以很好地工作(与用户交互):*安装.Net =>重新启动PC =>应用程序安装*。所以看起来我在Visual Studio中的配置是正确的。但是,我真的必须编写一个bash脚本来实现msi文件的无提示安装吗? – rweisse