【发布时间】:2019-05-14 01:17:57
【问题描述】:
我的 WPF 应用程序(一个简单的点击游戏)有问题。我刚刚使用 Visual Studio 的 Microsoft Visual Studio Installer Projects 扩展进行了部署/创建了一个安装项目。一切似乎都运行良好,安装程序运行良好(在其他计算机上测试)而且安装的应用程序几乎可以正常运行。唯一的例外是按钮调用函数,它在安装应用程序的文件夹中创建一个新的 txt(类似于“保存”文件的草稿)文件。单击此按钮会导致整个应用程序立即崩溃。没有其他反应,没有错误消息,应用程序只是关闭。
我认为问题在于文件夹/管理员权限的访问权限。
我在安装项目中使用“文件系统”窗口在应用程序文件夹中添加了同名的txt文件,再次部署并安装。即使文件存在,问题也会再次发生(可能是因为尝试覆盖文件内容时的访问权限)。
通过 VS 运行应用程序时一切正常可能很重要,而且使用 .exe 在任何计算机上都可以正常工作。问题仅在于使用安装程序安装的应用程序。
我不确定问题出在哪里,所以很难显示一些代码,说实话我什至不确定这是否是代码的问题,也许可以通过设置一些设置项目属性来解决?
我想在两个会话之间在本地存储一些数据,我选择了 txt 文件,因为它既轻巧又简单,即使它不是最优雅的方式。 我希望已安装的应用程序能够在其文件夹中创建和覆盖 txt 文件。
附:如果您需要有关我的设置的任何代码、屏幕截图或信息,请在 cmets 部分告诉我,我将提供必要的内容
【问题讨论】:
-
正如我所说,使用 VS 运行时一切正常。只有在部署应用程序时才会出现问题
-
您将文件保存在哪里?你可以发布保存txt文件的代码吗?您还可以围绕您认为导致问题的代码进行一些异常处理,并且在 catch 中您可以生成一个显示错误消息的消息对话框。可能会让您更好地了解正在发生的事情。
-
需要查看代码以了解如何构建文件路径。已安装的应用程序将驻留在“程序文件”文件夹中,您可能无权访问它。您可能需要考虑将此类数据存储在 ApplicationData 文件夹中。阅读本文了解更多信息:stackoverflow.com/questions/9659127/…
-
social.technet.microsoft.com/wiki/contents/articles/… 您只需将 bin/Release 的内容复制到某个文件夹即可“安装”应用程序。如果这只是您正在尝试的东西,那么您最简单的选择可能就是将您的 exe 和 dll 复制到“我的游戏”中的文件夹中
标签: wpf visual-studio release setup-deployment