Clickonce winforms应用程序不会从开始菜单启动

时间:2012-12-06 14:13:26

标签: winforms clickonce

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

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

在其他机器上,它安装正常,但从startmenu启动时崩溃。

从C:\ Users \ xxxxx \ AppData \ Local \ Apps \ 2.0 ...

开始是没问题的

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

有什么建议吗?

3 个答案:

答案 0 :(得分:0)

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

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

HTH

由于

答案 1 :(得分:0)

围绕调用第三方dll进行异常处理并发布您获得的确切错误。如果单击ClickOnce文件夹中的exe时它可以正常工作,但是当您将其作为ClickOnce应用程序运行时,它可能会出现问题,即您运行的东西需要比ClickOnce应用程序更多的权限,这需要管理员访问权限。

答案 2 :(得分:0)

导致问题的原因:

.mdb文件包含在项目中,其中包含“Build Action = Content”和“Copy to Output Directory = Always Always”。

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

这会将.mdb文件与应用程序文件一起部署。但是,clickonce应用程序期望.mdb文件部署在clickonce \ Data文件夹中。

<强>解决方案:

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

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

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