我有一个简单的Winforms应用程序通过clickonce部署。Clickonce winforms应用程序不会从startmenu开始
在我的开发机器上它工作。
在其他机器上安装正常,但从启动菜单启动时会崩溃。
的是它开始形成C中没有问题:\用户\ XXXXX \应用程序数据\本地\应用\ 2.0 ...
当崩溃错误时的ClickOnce查找一个.MDB在发生... [应用程序目录] \ Data。但是.mdb文件部署在应用程序目录中。
有什么建议吗?
我有一个简单的Winforms应用程序通过clickonce部署。Clickonce winforms应用程序不会从startmenu开始
在我的开发机器上它工作。
在其他机器上安装正常,但从启动菜单启动时会崩溃。
的是它开始形成C中没有问题:\用户\ XXXXX \应用程序数据\本地\应用\ 2.0 ...
当崩溃错误时的ClickOnce查找一个.MDB在发生... [应用程序目录] \ Data。但是.mdb文件部署在应用程序目录中。
有什么建议吗?
是什么原因造成的问题:
.mdb文件被列入与“建设行动=内容”项目和“复制到输出目录=一直拷贝”。
在应用程序设置中.mdb文件的发布状态已设置为“包含”。
这将.mdb文件与应用程序文件一起部署。但是,clickonce应用程序预期将.mdb文件部署在clickonce \ Data文件夹中。
解决方案:
在“应用程序文件”,“发布状态”,为的.mdb被设置为数据文件。这将文件解压到clickonce \ Data文件夹。
通过路径与.mdb文件的所有交互都已更新,因此如果应用程序已部署,则使用clickonce数据路径。
if (ApplicationDeployment.IsNetworkDeployed)
{
this.applicationDataPath = Path.Combine(Path.GetDirectoryName(Application.UserAppDataPath), "Data");
}
您是否尝试过使用procmon来查看您的应用程序试图访问什么?它可能会显示您的应用程序可能错过的进一步依赖关系。
此外,如果有问题的DLL是COM你有创建应用程序和程序集的必要清单。
HTH
感谢
放在异常处理周围调用第三方的DLL和发布你所得到的确切的错误。如果它在ClickOnce文件夹中单击exe文件时起作用,但在您将它作为ClickOnce应用程序运行时不起作用,则可能的问题是您正在运行的某些内容需要比ClickOnce应用程序更多的权限,这些内容需要管理访问权限。
你可以发布它如何崩溃?另外,从每台机器的每次安装启动菜单启动时,它是否会崩溃? – stuartd
我已更新问题以适应您的问题....“问题疑问...” – Fubzot
您是否从第三方DLL获取任何类型的错误消息? – stuartd