【问题标题】:Clickonce winforms application wont start from startmenuClickonce winforms 应用程序不会从开始菜单启动
【发布时间】:2012-11-24 14:06:44
【问题描述】:

我有一个通过 clickonce 部署的简单 Winforms 应用程序。

在我的开发机器上它可以工作。

在其他机器上安装正常,但从开始菜单启动时崩溃。

从 C:\Users\xxxxx\AppData\Local\Apps\2.0... 启动没有问题...

当 clickonce 在 ...[Application Directory]\Data 中查找 .mdb 时发生崩溃错误。但是,.mdb 文件部署在应用程序目录中。

有什么建议吗?

【问题讨论】:

  • 你能发布它是如何崩溃的吗?此外,在每台机器上的每次安装或仅一台机器上从开始菜单启动时它会崩溃吗?
  • 我已经更新了问题以适应您的问题......“问题问题......”
  • 您是否收到来自第 3 方 dll 的任何类型的错误消息?
  • 不,除了 Windows 7 “...已经崩溃,Windows 正在搜索..”
  • 你能在调用代码周围放一个try/catch,看看返回了什么异常吗?了解错误实际上是什么将极大地帮助解决它 - 例如它是否是路径问题、权限问题等。

标签: winforms clickonce


【解决方案1】:

您是否尝试过使用 procmon 查看您的应用程序试图访问的内容?它可能会显示您可能遗漏的应用程序的进一步依赖关系。

另外,如果有问题的 dll 是 COM,您是否为应用程序和程序集创建了必要的清单。

HTH

谢谢

【讨论】:

    【解决方案2】:

    围绕调用 3rd 方 dll 进行异常处理并发布您遇到的确切错误。如果它在您单击 ClickOnce 文件夹中的 exe 时有效,但在您将其作为 ClickOnce 应用程序运行时无效,则可能的问题是您正在运行的东西需要比 ClickOnce 应用程序更多的权限,即需要管理访问权限的东西。

    【讨论】:

      【解决方案3】:

      导致问题的原因:

      .mdb 文件包含在项目中,“构建操作 = 内容”和“复制到输出目录 = 始终复制”。

      在应用程序设置中,.mdb 文件的发布状态设置为“包含”。

      这部署了带有应用程序文件的 .mdb 文件。但是,clickonce 应用程序希望 .mdb 文件部署在 clickonce \Data 文件夹中。

      解决方案:

      在“应用程序文件”中,.mdb 的“发布状态”设置为数据文件。这会将文件分解到 clickonce \Data 文件夹。

      通过路径与 .mdb 文件的所有交互都已更新,以便在部署应用程序时使用 clickonce 数据路径。

          if (ApplicationDeployment.IsNetworkDeployed)
          {
              this.applicationDataPath = Path.Combine(Path.GetDirectoryName(Application.UserAppDataPath), "Data");
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-10-21
        • 1970-01-01
        • 2013-05-07
        • 1970-01-01
        • 2012-02-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多