C# .Net应用程序部署:仅在我的计算机上运行

C# .Net应用程序部署:仅在我的计算机上运行,c#,deployment,installation,C#,Deployment,Installation,我还有一个部署问题 我拥有的是:一个小小的Windows窗体应用程序,它可以查看浏览器缓存并从缓存中复制图像文件 问题:该应用程序在我的机器上运行正常,但每当我尝试在其他人的机器上运行它时,我都会收到一条错误消息(“出错。正在退出”)以及临时文件夹中的3个文件列表。这些文件中没有太多关于该问题的信息 我试过使用不同的目标框架.Net 4.0、.Net 4.0客户端配置文件、3.5、3.5客户端配置文件-同样的问题。 我尝试了OneClick部署和安装项目,只复制了*.exe文件。结果都是相同的问

我还有一个部署问题

我拥有的是:一个小小的Windows窗体应用程序,它可以查看浏览器缓存并从缓存中复制图像文件

问题:该应用程序在我的机器上运行正常,但每当我尝试在其他人的机器上运行它时,我都会收到一条错误消息(“出错。正在退出”)以及临时文件夹中的3个文件列表。这些文件中没有太多关于该问题的信息

我试过使用不同的目标框架.Net 4.0、.Net 4.0客户端配置文件、3.5、3.5客户端配置文件-同样的问题。 我尝试了OneClick部署和安装项目,只复制了*.exe文件。结果都是相同的问题

在目标计算机上安装了完整的.NET4.0框架,但没有任何区别

应用程序正在从注册表读取,但我不认为从HKLM读取需要管理员权限,但我还是尝试以管理员身份运行

我试过Windows7、XPSP3——类似的输出

除了.Net framework之外,该项目没有依赖项

有什么建议我可以检查外国机器上的应用程序到底发生了什么

p、 美国。如果您希望查看,可在此处获取源代码:


UPD:谢谢大家的建议,我已经在其他机器上安装了Visual Studio,几秒钟内发现了一个问题。我试图用字符串打开目录。空作为地址。我真傻!

听起来像是……的工作,在启动应用程序的同时在机器上运行这个,并过滤掉除exe之外的所有内容。这将向您展示所有文件系统和注册表活动。如果存在权限问题,您将在“结果”列中看到访问被拒绝,或者如果缺少内容,您将看到“未找到路径”条目。

听起来像是……的作业。在启动应用程序的同时在计算机上运行此操作,并过滤掉除exe之外的所有内容。这将显示所有文件系统和注册表活动ty.如果出现权限问题,您将在结果列中看到访问被拒绝,或者如果缺少内容,您将看到路径未找到条目。

基本上,在应用程序或表单加载过程中,某些代码试图在受保护或不存在的目录/文件上执行文件操作,而没有进行正确的错误处理。

诀窍是在执行任何文件处理之前,先弄清楚如何在应用程序中引用路径/文件名,并将它们与特定的操作系统/用户名分离


Try/Catch with custom errors可帮助您精确定位所有文件系统访问代码的区域。

基本上,在应用程序或表单加载过程中,某些代码试图在受保护或不存在的目录/文件上执行文件操作,而没有正确的错误处理

诀窍是在执行任何文件处理之前,先弄清楚如何在应用程序中引用路径/文件名,并将它们与特定的操作系统/用户名分离


尝试/捕获自定义错误以帮助您精确定位所有文件系统访问代码周围的区域是一个好主意。

可能是在某个时候您引用的文件在其他计算机上不存在吗?例如“C:\MyFile”?

可能是在某个时候您引用的文件在其他计算机上不存在吗疼痛?例如“C:\MyFile”?

很好!在发布之前,我已经检查并删除了所有本地路径…我将再次检查。感谢您的建议。没问题:)希望您能解决它!说得好!在发布之前,我已经检查并删除了所有本地路径。。。我再检查一遍。谢谢你的建议。没问题:)希望你能解决它!和肖恩建议的想法一样。我要试一试。谢谢和肖恩建议的想法一样。我要试一试。谢谢您是否有权访问您的应用程序出现故障的另一个人的计算机,即他们是否允许您将调试器附加到进程,并查看它在哪里中断?目前正在尝试在另一台计算机上设置开发环境。将在几分钟内运行调试器-)甚至比使用远程调试设置整个开发环境更容易。很高兴您发现了问题。您是否有权访问您的应用程序出现故障的另一个人的计算机,即他们是否允许您将调试器附加到进程并查看其故障位置?正在尝试在另一台计算机上设置开发环境。将在几分钟内运行调试器-)甚至比使用远程调试设置整个开发环境更容易。很高兴你发现了问题。