【问题标题】:Deployment and Updater for WPF applicationWPF 应用程序的部署和更新程序
【发布时间】:2017-04-05 18:03:12
【问题描述】:

您好,我是 wpf 应用程序开发的新手,正在寻找部署技术来部署和更新我的 WPF 应用程序,但我找不到任何符合我要求的东西。

要求是:

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

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

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

ClickOnce : 客户端没有选择安装路径的选项

Windows Installer: 不支持 wpf 应用的 Updater。

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

以上是我通过谷歌搜索资源以实现部署 wpf 应用程序的要求得到的结论。

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

【问题讨论】:

  • 您想查看高级安装程序等商业选项:advancedinstaller.com
  • 是的,谢谢 :) 我看了看,但它太贵了。是否有任何免费/开源选项。
  • 我只是在看 wix 工具集。对我有帮助吗?

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


【解决方案1】:

WiX toolset 是一个可靠的部署选项,它很成熟,被广泛使用,而且它是免费的。

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

关于您的要求:

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

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

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

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

msiexec.exe -qn -i YourInstaller.msi

您也可以为此使用 API(MsiSetInternalUIMsiInstallProductW):

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

要更新非常大的应用程序(如 Visual Studio),您需要创建一个 patch,但对于中小型应用程序,这不值得。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多