使用单击一次部署时的安装问题

时间:2014-01-29 06:08:43

标签: c# wpf visual-studio-2012

我有一个Wpf应用程序,我希望它在远程服务器上部署。以前我使用过VS2010,所以很容易创建setup / .msi文件并在其他机器上部署。

目前我有VS2012。它没有设置部署选项。另外,我阅读了有关部署应用程序的clickonce应用程序部署方法。

我尝试了一种方法,但它没有正确地在本地安装应用程序。 应用程序快捷方式首次启动应用程序(很少第二次启动)。下次,它会抛出像

这样的异常
"Cannot start application". Application cannot be started. Contact  the application vendor

错误详情如下:

ERROR DETAILS
    Following errors were detected during this operation.
    * [29-01-2014 11:32:48] System.Deployment.Application.DeploymentException (Activation)
        - Activation failed.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.ComponentStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)
            at System.Deployment.Application.SubscriptionStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)
            at System.Deployment.Application.ApplicationActivator.Activate(DefinitionAppId appId, AssemblyManifest appManifest, String activationParameter, Boolean useActivationParameter)
            at System.Deployment.Application.ApplicationActivator.ProcessOrFollowShortcut(String shortcutFile, String& errorPageUrl, TempFile& deployFile)
            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)
        --- Inner Exception ---
        System.IO.FileNotFoundException
        - The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.NativeMethods.CorLaunchApplication(UInt32 hostType, String applicationFullName, Int32 manifestPathsCount, String[] manifestPaths, Int32 activationDataCount, String[] activationData, PROCESS_INFORMATION processInformation)
            at System.Deployment.Application.ComponentStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)

帮我解决这个问题?

1 个答案:

答案 0 :(得分:10)

我之前遇到过这个问题......我无法告诉你是什么导致这个问题,但你会很高兴听到解决方案相当无痛。当您收到一条错误消息,指出无法启动'应用程序。请与应用程序供应商联系。',执行以下操作以修复它:

enter image description here

删除该应用程序的应用程序历史记录

ClickOnce应用程序安装在以下路径中:

  

C:\ Users \用户名\应用程序数据\本地\应用\ 2.0

请注意,Apps文件夹默认隐藏,因此您需要在Windows资源管理器“文件夹选项”对话框中显示隐藏文件和文件夹。在此文件夹中有一个名为Data的文件夹。这包含用户设置,应删除。

此文件夹中的其他文件夹将包含应用程序历史记录,删除...这些文件夹具有随机名称,如“AP3HP63D.KQT”。在删除内容之前查看内容非常重要。

下一级内的文件夹也有半随机名称,尽管它们使用它们代表的解决方案文件夹的第一个和最后几个字母......例如:Midas.Models:

  

mida..dels_fd8cb4d036a0621f_0003.0001_none_22d6cc2069472451。

因此,如果您尝试删除应用程序的版本下载历史记录,请确保内部文件夹是正确的。找到正确的“外部文件夹”(例如“AP3HP63D.KQT”)后,您只需将其删除并重新下载最新版本的应用程序即可。