【问题标题】:XNA 4.0 ClickOnce game does not run after installationXNA 4.0 ClickOnce 游戏安装后无法运行
【发布时间】:2012-09-05 01:19:20
【问题描述】:

好的,在我真正崩溃并决定最终询问我的具体问题之前,我一直在寻找解决这个问题的方法。我正在使用 ClickOnce 安装,当我使用 setup.exe 安装时,没有任何运行,甚至在我知道拥有所有适当库等的个人计算机上也没有。我不确定我做错了什么,所以很难解释这个问题。

我已将 dotNetFramework4.0 客户端 x86 x64 、xna 可再发行组件 4.0 和 windows installer 3.1 与我的游戏一起包含在内,并且我已将其设置为通过 setup 安装所有这些,我还将其设置为从与应用程序相同的位置下载 prereqs .我已经在三台不同的计算机上尝试过,其中一台没有安装 XNA 或 VS C#,并且出现了同样的问题。

这就是问题所在,安装游戏后没有任何运行,我尝试单击 ClickOnce 应用程序文件(带有我的游戏图标图像的文件),但仍然没有任何反应。真正困扰我的是没有任何错误或崩溃或任何东西,这几乎就像点击桌面屏幕一样。 (我查看了随游戏安装的“快捷方式”的属性,快捷方式的文件大小大约为 300 字节。这不是很小吗?我在想可能是启动可执行文件有问题?我'虽然不确定。)

我尝试在我的项目的“发布”部分中调整一些内容,例如取消选中“使用 .deploy 扩展文件”框(我不知道为什么,我一直在这里抓住稻草) 我一直在研究其他一些安装程序,例如 NSIS,但我不知道如何编译要包含在其他安装程序中的文件列表,我觉得这无论如何都不能解决问题,因为我已经获得 ClickOnce 到以前和我一起工作。

在一台计算机上,有一个错误报告说“部署和应用程序没有匹配的安全区域”。

Game.application 导致异常。检测到以下故障消息: + 部署和应用程序没有匹配的安全区域。

时间不早了,如果我需要提供更多信息,请告诉我。

【问题讨论】:

  • 哪个部分不起作用?安装(setup.exe)还是安装后的游戏(game.exe)?
  • 安装设置运行良好,我认为它贯穿整个安装过程。但是我的桌面图标和开始菜单图标没有运行任何东西。我将尝试更多的事情,看看是否可以得到错误报告并从那里开始。
  • 我尝试设置一个 try-catch 以尝试查看是否在我不知情的情况下崩溃并使用消息框获取一些信息,但我没有从中得到任何信息。我还下载了 XNA refresh 以查看这是否是一个问题并创建了一个 Inno 安装程序,但问题似乎与我的可执行文件有关,因为发生了同样的问题。当我单击它时,游戏会显示在我的任务管理器的进程选项卡中,直到达到 10,000k 然后它就会消失。虽然游戏从未在我的任务管理器中显示为应用程序。
  • 另一件事,我的发布屏幕上的“应用程序”选项卡在我的“目标框架”栏中没有任何内容,我也无法更改它或使用下拉箭头选择任何内容.它只是空白。我不知道这是否是一个问题或如何解决它,但我想我会包括那一点信息。
  • 好的,在我注释掉我的 ScreenManager 类引用并让它只播放空白蓝屏后,我能够让游戏运行。这意味着我的代码中的某些内容无法正常运行?我会同意的,如果我想出一些东西,我会更新这篇文章。交叉我的手指。

标签: xna installation clickonce


【解决方案1】:

ClickOnce 可能是一个反复无常的事情。有时我遇到的错误只能通过重新创建整个 Windows 用户配置文件来解决。因为 ClickOnce 有很多不同的选项,所以我很难诊断出您的确切问题,所以我只能提供我曾经通过 ClickOnce 成功安装的选项。

  • 发布文件夹:本地文件夹
  • 安装文件夹 URL:空白
  • 安装模式:离线
  • 应用程序文件
    • 确保游戏文件的发布状态设置为包含(自动)
    • 确保 XNA 库的发布状态设置为先决条件(自动)
  • 单击先决条件
    • Microsoft .NET Framework 4 客户端配置文件
    • Microsoft XNA Framework Redistributable 4.0
    • Windows 安装程序 3.1
  • 不检查更新
  • Options 下的所有其他默认设置(发布商/套件名称不应影响任何内容)
  • 指定版本号
  • 立即发布

通过发布位置提供的 setup.exe 安装游戏。我总是分发每个发布的文件。但是,如果您不希望分发历史记录,可以清理“应用程序文件”文件夹中的旧版本。

您可以仔细检查“应用程序文件”文件夹以查看您的版本是否正确发布(查看已部署的文件并查看它们是否与您的项目内容匹配)。

【讨论】:

  • ClickOnce 可能是一个变化无常的事情。 +1 我现在将 Wix 用于 XNA,另一个(更简单但付费)选项是高级安装程序
  • 我认为一切都在那里,尽管我没有看到我的 spritefonts 的 xml 文件,即使我在那里设置了内容的构建操作,但我看不到将它们包含在应用程序文件中的选项。除此之外,我没有看到游戏本身的可执行文件,但是在应用程序文件夹中,我看到了一个 game.exe.deploy 文件,即使安装后我也无法打开。所以我想我错过了我的 xml 文件和我的游戏可执行文件?我已将其设置为“包含(自动)”,但无论如何我都无法更改。
  • 如果我要使用 Inno(我可以很好地使用 Inno 设置),我的游戏需要一个可工作的 exe 文件,但我不确定我需要在 inno 设置中添加什么为了正确安装它。我在 \release 文件夹下看到我的游戏的 exe 文件以及内容和其他文件夹,但即使在我安装游戏后它也没有任何作用。
  • 它显示在我的任务管理器进程部分,但只有 800k 并且从那里没有任何反应。我希望某些东西会崩溃或给我一个错误,这样我就可以解决一些问题。
  • 我可以在一小时内到达我的开发箱时为您提供更多帮助。请记住,来自 ClickOnce 的“已发布”文件不包含正在运行的可执行文件。您需要首先运行安装程序,然后将所有内容安装到 Windows 用户配置文件中的隐藏文件夹中。生成的文件夹将包含您的游戏可执行文件和具有适当文件扩展名的内容。
猜你喜欢
  • 1970-01-01
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多