Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
.net 是否使用ClickOnce更新替换为其他项目?_.net_Visual Studio 2008_Deployment_Installation_Clickonce - Fatal编程技术网

.net 是否使用ClickOnce更新替换为其他项目?

.net 是否使用ClickOnce更新替换为其他项目?,.net,visual-studio-2008,deployment,installation,clickonce,.net,Visual Studio 2008,Deployment,Installation,Clickonce,我们有一个使用ClickOnce部署的旧WinForm项目 我刚刚创建了一个新的WPF项目,并计划使用ClickOnce进行部署,并从所有计算机中删除旧的WinForm应用程序 有没有一种方法可以让所有运行旧WinForm应用程序的计算机=>检查更新=>安装新的WPF应用程序?有一种方法可以在实现中为这种行为编码,但没有一种自动、简单的方法可以做到这一点 这有点麻烦,因为每当您需要更新一个先决条件或使用新的安全证书重新发布您的应用程序时,用户都需要重新安装您的应用程序 然而,为了解决这个问题,我

我们有一个使用ClickOnce部署的旧WinForm项目

我刚刚创建了一个新的WPF项目,并计划使用ClickOnce进行部署,并从所有计算机中删除旧的WinForm应用程序


有没有一种方法可以让所有运行旧WinForm应用程序的计算机=>检查更新=>安装新的WPF应用程序?

有一种方法可以在实现中为这种行为编码,但没有一种自动、简单的方法可以做到这一点

这有点麻烦,因为每当您需要更新一个先决条件或使用新的安全证书重新发布您的应用程序时,用户都需要重新安装您的应用程序

然而,为了解决这个问题,我创建了一个非常简单的API,您可以使用它来帮助自动化这个过程


看看。

哦,不。。。您的项目在.NET 4.0中。。。。我在想是否可以修改旧的WinFormClickOnce配置文件,并指向新的文件,看看它是否有效。否则,我可能会修改WinForm应用程序,它将为我的新WPF应用程序执行安装,而我的WPF应用程序将卸载旧的WinForm应用程序(不知何故…?),我认为您可以在项目设置中降低API的级别。我认为我没有使用任何特定于4.0的属性。现在我再次查看该项目,是的,它是在VS2010中编写的,但该项目是针对.NET2.0框架的。我想,这应该适用于您的情况。哦,我在调试您的代码时,发现错误发生在
HttpWebResponse rsHead=(HttpWebResponse)rqHead.GetResponse()不知道为什么,我想我可能会修改您的代码以在网络驱动器中工作。。。也许在我的情况下更好…所以GetResponse失败的原因是因为IIS不允许访问
重新安装
文件,需要
txt
文件(对我来说)。我在源代码中发现了一个bug:在
GetUninstallString
方法中,执行了
appKey.Close()
关闭注册表项并尝试访问
(字符串)appKey.GetValue(“DisplayName”)后面。继续抛出异常,该异常只会在结果中返回卸载失败。但无论如何,非常感谢!现在我可以卸载和安装所有机器+1.