ClickOnce应用程序部署和.NET COM可见dll注册



我有一个clickonce应用程序。我需要为该应用程序注册COM可见dll。我在该应用程序的代码中使用了注册,该代码检查它是否已经注册,并通过RegistrationServices类方法RegisterAssembly()进行注册。如果它是由管理员启动的,则工作正常。但我不能要求管理员权限来部署clickonce应用程序。我尝试注册的第二种方式是我的clickonce的先决条件,这将需要管理员并注册我的dll。我已经为我的必备应用程序创建了产品清单,但在点击一次部署过程中出现了错误

"安装程序检测到文件"…"自最初发布以来已更改,或者可能已损坏。"

我发现这是.NET 4.5的问题,我应该签署我的先决条件。我签署了它,并再次由引导程序生成清单。在那之后,我在部署过程中出现了以下错误:

"文件不可信错误:安装程序检测到无法验证文件的发布者"

我必须先在目标计算机上安装证书,然后才能成功部署我的clickonce。但在所有目标机器上安装clickonce之前,不可能安装证书。有人知道如何解决这个问题吗?提前谢谢。

我和微软的ClickOnce人员谈过你的问题。您使用的是VS2010还是VS2012?他说,在使用VS2010时,有时会出现您看到的错误。

如果您使用VS2010,并且该计算机上安装了.NET 4.5,则VS将使用.NET 4.5中的构建任务,并在自定义引导程序包上使用SHA256哈希来创建该安装程序包。但是随后setup.exe将下载引导程序并尝试进行SHAH1比较,这与SHAH2不匹配。

解决方法是,如果使用VS2012更新2构建和部署它,它应该可以工作。

如果你用正确的CA证书签名,它也应该有效。在这种情况下,他们不进行哈希验证,只使用证书进行验证。

如果您想继续使用VS2010,您可以从VS2012更新2中提取setup.bin,将其放在VS2010文件夹中,然后它就可以工作了。它在windows SDK文件夹中。

相关内容

  • 没有找到相关文章

最新更新