ClickOnce抱怨:“您无法从此位置启动应用程序,因为它已从其他位置安装。”

问题描述 投票:4回答:3

我有一个ClickOnce安装的.NET 4.0应用程序。我收到了这个错误:

您无法从此位置启动应用程序,因为它已从其他位置安装

我通过执行以下操作得到它:*我创建我的部署并压缩它。 *转到安装计算机并解压缩并安装。 *创建下一个版本并将其压缩。 *现在在我的安装计算机上,如果我解压缩到其他位置并尝试运行安装程序,我会收到上述错误。

让我的应用程序完全卸载以前的版本,然后安装最新版本,我会完全没问题。这些类型的错误不会在用户从DVD安装一次并且稍后通过下载的ZIP文件获得新版本时发生吗?

clickonce
3个回答
6
投票

部署URL是应用程序标识的一部分。如果在启动时从一个位置安装它,则需要从同一位置安装更新。即使您没有在清单中指定部署提供程序(如Johnny引用的文章中所述),它也会执行此操作 - 它只是将其设置为您首次安装它的位置。

我所知道的唯一解决方法是将应用程序作为在线应用程序发布到Web服务器。 (也可以从文件共享中工作,但我不记得了。)


0
投票

如果要同时使用ClickOnce安装同一应用程序的不同版本(例如Dev版本和QA版本),请使用唯一证书对每个版本进行签名:

makecert -r -pe -n "CN=MyApp Q1" -sv MyApp-Q1.pvk MyApp-Q1.cer -b 06/01/2016 -e 12/31/2099

然后在powershell中获取指纹,您将使用:

Get-PfxCertificate -FilePath .\MyApp-Q1.pfx

然后在您的应用程序csproj文件中有以下内容:

<ProductName>MyApp - Q1</ProductName>
<InstallUrl>\\my\installation\link</InstallUrl>
<ManifestCertificateThumbprint>9D4BF3492523A7D45A835542F7E1CB27ED53573B</ManifestCertificateThumbprint>
<ManifestKeyFile>../Certificates/MyApp-Q1.pfx</ManifestKeyFile>

或者,如果您更喜欢基于UI的解决方案,则可以转到Visual Studio中的项目属性,然后单击“签名”选项卡以在其中添加证书。有关详细信息,请参阅MSDN如何:签署应用程序和部署清单(请参阅https://docs.microsoft.com/en-us/visualstudio/ide/how-to-sign-application-and-deployment-manifests?view=vs-2017)或演练:手动部署ClickOnce应用程序(请参阅https://docs.microsoft.com/en-us/visualstudio/deployment/walkthrough-manually-deploying-a-clickonce-application?view=vs-2017


0
投票

如果您遇到此问题已安装该应用程序,则可以转到控制面板,然后卸载现有应用程序,然后安装/发布应用程序。

它对我有用。

谢谢,拉克什

© www.soinside.com 2019 - 2024. All rights reserved.