【问题标题】:Publish project for all users为所有用户发布项目
【发布时间】:2015-09-05 19:49:06
【问题描述】:

我创建了一个 C# Windows 窗体项目。

当我单击“发布”时,它会部署这个仅针对单个用户的单击一次应用程序。如果我在我的管理员帐户上运行安装,那么我的 AppData 中有一个快捷方式,我可以单击它来运行我的程序。如果我尝试将该快捷方式复制到 C:\users\Public 会发生什么情况是另一个单击一次应用程序被放置在用户的桌面上。然后该用户必须运行安装,这很烦人,因为如果我有更新,每个用户都必须卸载并重新安装新应用程序。有什么方法可以配置 VS 2015 以为所有用户创建“常规”安装的方式发布?

【问题讨论】:

  • ClickOnce 的工作原理并非如此。它被设计为存在于用户的个人资料中。启动应用程序时会自动升级,除非出现问题,否则升级速度应该相当快。

标签: c# visual-studio clickonce publish visual-studio-2015


【解决方案1】:

RobinDotNet 在不久前的一篇博文中解决了这个问题:

进行全用户安装与 ClickOnce 部署的设计目标背道而驰,因此我认为这将是每个人都必须忍受的事情,至少目前是这样。如果您绝对必须安装所有用户,那么使用 XCopy 或安装和部署包并滚动您自己的增量更新方法将是可行的方法

https://robindotnet.wordpress.com/2009/09/07/installing-a-clickonce-application-for-all-users/

this SO answer 中列出了更多可能适合您的替代部署方法。

【讨论】:

    【解决方案2】:

    您不能使用 ClickOnce 执行此操作。您可能需要安装 Windows Installer XML 以创建常规 MSI 安装程序。它现在与 Visual Studio 集成。

    【讨论】:

      【解决方案3】:

      正如其他人指出的那样,CO 是按用户计算的。没有为所有用户安装机器选项。

      但是,我觉得您在升级方面的影响要么被误导,要么配置错误。单击一次升级不需要用户卸载、下载和安装新版本。那不完全是单击一次。

      您可以将 ClickOnce 应用配置为在升级可用时自动检测、获取和应用升级。这可以在代码中完成,这样您就可以通过编程或配置来控制它(即每次应用程序启动时检查更新)。

      所以是的,每个用户都需要安装一次应用程序,但这将是他们参与的结束。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-01
        • 1970-01-01
        • 2016-08-22
        • 1970-01-01
        • 2011-06-05
        • 1970-01-01
        相关资源
        最近更新 更多