WPF应用程序的部署和更新程序

时间:2017-04-05 18:03:12

标签: c# wpf windows-installer clickonce squirrel.windows

您好我是wpf应用程序开发的新手,并且正在搜索部署技术以部署和更新我的WPF应用程序,但我无法找到任何能够清除我的要求的内容。

要求是:

1)设置程序文件的默认路径或允许客户端选择安装路径位置

2)通过静默模式更新wpf应用程序或在我的wpf应用程序上提供更新按钮。

我尝试过的部署技术限制:

ClickOnce:客户无法选择安装路径

Windows Installer:它不支持针对wpf应用的更新程序。

Squirrel:我也无法选择安装位置。

以上是我通过Google搜索获得的资源,以达到部署wpf应用程序的要求。

是否有任何技术支持我部署和更新WPF应用程序的要求(这些可能是错误的,请提及,如果有的话)

1 个答案:

答案 0 :(得分:2)

WiX toolset是一个可靠的部署选项,它已经成熟,它已被广泛使用,并且作为奖励它是免费的。

它有一个学习曲线,但从长远来看,它在我看来是值得的。查看专为WPF应用量身定制的official tutorialthis one

关于您的要求:

  

1)设置程序文件的默认路径或允许客户选择   安装路径位置

WiX提供各种标准UI。如果您只需要自定义安装目录,则可以使用“WixUI_InstallDir”。查看this page了解更多选项。

  

2)通过静默模式更新wpf应用程序或提供更新   我的wpf应用程序上的按钮。

如果您的应用是中小型(例如< 100MiB),请将更新部署为MajorUpgrade。 MajorUpgrade始终包含完整安装程序,它将自动卸载以前的版本,然后安装新版本。当然,您可以在静音模式下执行此操作:

msiexec.exe -qn -i YourInstaller.msi

或者,您可以使用API​​(MsiSetInternalUIMsiInstallProductW):

MsiSetInternalUI(INSTALLUILEVEL_NONE, NULL);
UINT result = MsiInstallProductW(L"YourInstaller.msi", L"");

要更新真正重要的应用程序(如Visual Studio),您需要创建一个patch,但对于中小型应用程序来说,这不值得麻烦。