XNA ClickOnce:无法启动应用程序。改变什么?

XNA ClickOnce:无法启动应用程序。改变什么?,xna,installation,clickonce,manifest,windows-7-x64,Xna,Installation,Clickonce,Manifest,Windows 7 X64,不久前,我制作了一个关于2012年选举的XNA游戏(见这里),为了让它在线玩,我使用了JSIL。然而,我注意到JSIL对于某些计算机来说仍然有点复杂,并且在它们中运行不好,所以我一直在研究不同的选项,然后学习了ClickOnce。我已经通过ClickOnce以CD/DVD文件的形式发布了我的游戏,虽然发布没有错误,但我无法让它运行(请参阅让我玩滚滚草的问题)。现在我相信我知道了错误是什么,因为我的游戏使用了4个txt文件,显然这些文件没有包含在出版物的内容中。因此,为了证明我的理论,我使用了一个

不久前,我制作了一个关于2012年选举的XNA游戏(见这里),为了让它在线玩,我使用了JSIL。然而,我注意到JSIL对于某些计算机来说仍然有点复杂,并且在它们中运行不好,所以我一直在研究不同的选项,然后学习了ClickOnce。我已经通过ClickOnce以CD/DVD文件的形式发布了我的游戏,虽然发布没有错误,但我无法让它运行(请参阅让我玩滚滚草的问题)。现在我相信我知道了错误是什么,因为我的游戏使用了4个txt文件,显然这些文件没有包含在出版物的内容中。因此,为了证明我的理论,我使用了一个try-catch,如下所示:,我将其添加到add System.Windows.Forms作为参考。我猜“FilenotFoundException”应该在运行时出现,但尽管我已经安装了无数次卸载的应用程序,但从未运行过,但这次由于某种原因我无法安装它。一旦安装似乎完成,我就会出现此错误:

应用程序无法启动。联系应用程序供应商。
(我想这是指我)

除了此消息外,还有两个按钮:确定和
详细信息
。当我按details时,会弹出一个记事本文件,其中包含以下内容:

PLATFORM VERSION INFO
    Windows             : 6.1.7601.65536 (Win32NT)
    Common Language Runtime     : 4.0.30319.1008
    System.Deployment.dll       : 4.0.30319.1 (RTMRel.030319-0100)
    clr.dll             : 4.0.30319.1008 (RTMGDR.030319-1000)
    dfdll.dll           : 4.0.30319.1 (RTMRel.030319-0100)
    dfshim.dll          : 4.0.31106.0 (Main.031106-0000)

SOURCES
    Deployment url          : file:///E:/My%20Projects/XNA/Finished/VoteBuster/VoteBuster/VoteBuster/publish/VoteBuster.application
    Application url         : file:///E:/My%20Projects/XNA/Finished/VoteBuster/VoteBuster/VoteBuster/publish/Application%20Files/VoteBuster_1_0_0_0/VoteBuster.exe.manifest

IDENTITIES
    Deployment Identity     : VoteBuster.application, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4915d412ad8da99, processorArchitecture=x86
    Application Identity        : VoteBuster.exe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4915d412ad8da99, processorArchitecture=x86, type=win32

APPLICATION SUMMARY
    * Installable application.

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of E:\My Projects\XNA\Finished\VoteBuster\VoteBuster\VoteBuster\publish\VoteBuster.application resulted in exception. Following failure messages were detected:
        + Unable to install this application because an application with the same identity is already installed. To install this application, either modify the manifest version for this application or uninstall the preexisting application.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [8/16/2013 11:04:15 PM] : Activation of E:\My Projects\XNA\Finished\VoteBuster\VoteBuster\VoteBuster\publish\VoteBuster.application has started.
    * [8/16/2013 11:04:15 PM] : Processing of deployment manifest has successfully completed.
    * [8/16/2013 11:04:15 PM] : Installation of the application has started.
    * [8/16/2013 11:04:15 PM] : Processing of application manifest has successfully completed.
    * [8/16/2013 11:04:18 PM] : Found compatible runtime version 4.0.30319.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework.GamerServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=msil using Microsoft.Xna.Framework.GamerServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=msil.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=x86 using Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework.Video, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=msil using Microsoft.Xna.Framework.Video, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=msil.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=x86 using Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework.Input.Touch, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=msil using Microsoft.Xna.Framework.Input.Touch, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=msil.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework.Avatar, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=msil using Microsoft.Xna.Framework.Avatar, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=msil.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=msil using Microsoft.Xna.Framework.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=msil.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework.Storage, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=msil using Microsoft.Xna.Framework.Storage, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=msil.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=x86 using Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86.
    * [8/16/2013 11:04:18 PM] : Detecting dependent assembly Microsoft.Xna.Framework.Xact, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842CF8BE1DE50553, processorArchitecture=x86 using Microsoft.Xna.Framework.Xact, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86.
    * [8/16/2013 11:04:18 PM] : Request of trust and detection of platform is complete.
    * [8/16/2013 11:04:19 PM] : Downloading of subscription dependencies is complete.
    * [8/16/2013 11:04:19 PM] : Commit of the downloaded application has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [8/16/2013 11:04:19 PM] System.Deployment.Application.DeploymentException (Subscription)
        - Unable to install this application because an application with the same identity is already installed. To install this application, either modify the manifest version for this application or uninstall the preexisting application.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.SubscriptionStore.CheckApplicationPayload(CommitApplicationParams commitParams)
            at System.Deployment.Application.SubscriptionStore.CommitApplication(SubscriptionState& subState, CommitApplicationParams commitParams)
            at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.

从错误中,我发现clickonce无法安装此应用程序,因为已经安装了具有相同标识的应用程序。要安装此应用程序,请修改此应用程序的清单版本或卸载先前存在的应用程序
,但我检查了,起初已经安装了一个游戏实例。我卸载了它(不仅仅是删除,我是通过控制面板完成的),但同样的错误仍然存在。它还说我可以尝试
修改此应用程序的清单版本
,但这正是我遇到的问题。我不知道要修改什么。
。消息清楚地表明您的应用程序没有完全从系统中删除

为您的应用程序签入注册表。 位置是

HKCU\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Uninstall

从应用程序复制卸载字符串并在命令提示符下执行

如果成功卸载应用程序,则必须清除应用程序缓存

打开命令提示符并运行
rundll32 dfshim cleanlineappcache

如果此操作不成功,请转到

C:\Users[用户名]\AppData\Local\Apps

然后删除文件夹

在删除文件夹之前,请确保您的计算机中没有安装其他clickonce应用程序

尝试这些场景,并让我知道接受这个答案是否有帮助。:)

  • 通过在“开始”菜单的“运行”中输入cmd打开命令提示符
  • 切换到mage.exe所在的路径。在我这边,路径是C:\Program Files\Microsoft SDK\Windows\v6.0A\bin。输入“cd C:\Program Files\Microsoft SDK\Windows\v6.0A\bin”
  • 现在输入Mage.exe-cc。它将显示一个通知:应用程序缓存已清除