Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Clickonce WPF Windows 7-应用程序格式不正确。_C#_Wpf_Windows 7_Clickonce_Prerequisites - Fatal编程技术网

C# Clickonce WPF Windows 7-应用程序格式不正确。

C# Clickonce WPF Windows 7-应用程序格式不正确。,c#,wpf,windows-7,clickonce,prerequisites,C#,Wpf,Windows 7,Clickonce,Prerequisites,我有一台完全安装了Windows7的机器,我想在那里安装我的应用程序 我在Windows 10上建立了一个WPF应用程序,其前提是 2013版/ > NET 4.5版>代码> VisualC++ +可重新分发包> 我已将它们作为先决条件包含在Clickonce安装程序中: 如果我试图在Windows 7计算机上运行由Clickonce生成的.application文件,则会出现以下错误: 无法继续。应用程序的格式不正确。联系 应用程序供应商寻求帮助 但是,我在Windows 7机器上运行安装

我有一台完全安装了Windows7的机器,我想在那里安装我的应用程序

我在Windows 10上建立了一个WPF应用程序,其前提是 2013版/<代码> > NET 4.5版>代码> VisualC++ +可重新分发包> 我已将它们作为先决条件包含在Clickonce安装程序中:

如果我试图在Windows 7计算机上运行由
Clickonce
生成的
.application
文件,则会出现以下错误:

无法继续。应用程序的格式不正确。联系 应用程序供应商寻求帮助

<>但是,我在Windows 7机器上运行<代码>安装程序.exe < /C>,它正确地提示它需要安装VisualStudio2013 < /Cudio> <代码> .NET 4.5 < /C>和<代码> VisualC++ +可再分发包。然后,它成功地完成了每个先决条件的安装过程

除此之外,在安装了必备软件后,我收到了相同的
应用程序格式不正确。
上面的错误

如果我重新运行
.application
文件,它将最终安装

无论如何,这绝对不是一个好的用户体验。这是否与在Windows 10上构建应用程序并尝试在Windows 7上安装有关

我看到过这个问题,看起来很相似,但我安装.NET 4.5作为先决条件:

以下是错误详细信息:

PLATFORM VERSION INFO
    Windows             : 6.1.7601.65536 (Win32NT)
    Common Language Runtime     : 2.0.50727.5420
    System.Deployment.dll       : 2.0.50727.5420 (Win7SP1.050727-5400)
    mscorwks.dll            : 2.0.50727.5420 (Win7SP1.050727-5400)
    dfdll.dll           : 2.0.50727.4927 (NetFXspW7.050727-4900)
    dfshim.dll          : 4.0.40305.0 (Main.040305-0000)

SOURCES
    Deployment url          : file:///C:/Users/BHS/Desktop/New%20folder/BHSScaleOps.application

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of C:\Users\BHS\Desktop\New folder\BHSScaleOps.application resulted in exception. Following failure messages were detected:
        + Exception reading manifest from file:///C:/Users/BHS/Desktop/New%20folder/BHSScaleOps.application: the manifest may not be valid or the file could not be opened.
        + Manifest XML signature is not valid.
        + SignatureDescription could not be created for the signature algorithm supplied.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [3/21/2017 4:20:01 PM] : Activation of C:\Users\BHS\Desktop\New folder\BHSScaleOps.application has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [3/21/2017 4:20:01 PM] System.Deployment.Application.InvalidDeploymentException (ManifestParse)
        - Exception reading manifest from file:///C:/Users/BHS/Desktop/New%20folder/BHSScaleOps.application: the manifest may not be valid or the file could not be opened.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
            at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
            at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
            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.Deployment.Application.InvalidDeploymentException (SignatureValidation)
        - Manifest XML signature is not valid.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)
            at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
        --- Inner Exception ---
        System.Security.Cryptography.CryptographicException
        - SignatureDescription could not be created for the signature algorithm supplied.
        - Source: System.Security
        - Stack trace:
            at System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm key)
            at System.Security.Cryptography.Xml.SignedXml.CheckSignatureReturningKey(AsymmetricAlgorithm& signingKey)
            at System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify(CmiManifestVerifyFlags verifyFlags)
            at System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.

您的清单使用SHA-256签名。当您尝试在仅安装了.NET 4.0的计算机上安装ClickOnce应用程序时,您会收到
清单XML签名无效
错误,因为您提到的错误可能会达到.NET 4.0 SHA-1

这就是为什么在成功安装.NET4.5作为先决条件后,一切都可以正常工作的原因。我不知道为什么这不是一个单一的步骤,而是需要两个步骤。也许这与安装新框架版本后需要重新启动有关


解决方案是在签署清单时使用SHA-1。您可以在中找到有关如何实现此目的的信息。

您的清单使用SHA-256签名。当您尝试在仅安装了.NET 4.0的计算机上安装ClickOnce应用程序时,您会收到
清单XML签名无效
错误,因为您提到的错误可能会达到.NET 4.0 SHA-1

这就是为什么在成功安装.NET4.5作为先决条件后,一切都可以正常工作的原因。我不知道为什么这不是一个单一的步骤,而是需要两个步骤。也许这与安装新框架版本后需要重新启动有关

解决方案是在签署清单时使用SHA-1。您可以在中找到有关如何实现这一点的信息