Clickonce winforms应用程序无法从开始菜单启动

Clickonce winforms应用程序无法从开始菜单启动,winforms,clickonce,Winforms,Clickonce,我通过clickonce部署了一个简单的Winforms应用程序 在我的开发机器上它工作 在其他机器上,它安装正常,但从startmenu启动时崩溃 从C:\Users\xxxxx\AppData\Local\Apps\2.0启动它没有问题 崩溃时,clickonce在…[应用程序目录]\Data中查找.mdb时出错。但是,.mdb文件部署在应用程序目录中 有什么建议吗?您是否尝试使用procmon查看应用程序试图访问的内容?它可能会进一步显示您的应用程序可能已丢失的依赖关系 此外,如果所讨论的

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

在我的开发机器上它工作

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

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

崩溃时,clickonce在…[应用程序目录]\Data中查找.mdb时出错。但是,.mdb文件部署在应用程序目录中


有什么建议吗?

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

此外,如果所讨论的dll是COM,您是否已为应用程序和程序集创建了必要的清单


谢谢

在调用第三方dll的过程中加入异常处理,并发布您得到的确切错误。如果当您单击ClickOnce文件夹中的exe时,它工作,但当您将其作为ClickOnce应用程序运行时,它不工作,那么可能的问题是您正在运行的某个应用程序需要比ClickOnce应用程序更多的权限,需要管理访问权限。

问题的原因:

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

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

这将部署.mdb文件和应用程序文件。但是,clickonce应用程序希望.mdb文件部署在clickonce\Data文件夹中

解决方案:

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

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

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

你能发布它是如何崩溃的吗?另外,在每台机器上或仅在一台机器上从startmenu启动时,它会崩溃吗?我已经更新了问题以适应您的问题。。。。“问题…”您是否从第三方dll收到任何类型的错误消息?不,没有,但Windows 7“…已崩溃Windows正在搜索…”您是否可以尝试/捕获调用代码并查看返回的异常?了解错误的实质将极大地帮助解决它——例如,它是否是路径问题、权限问题等。