我正在努力让ClickOnce设置与引导程序一起成功运行。我正在构建一个VSTO加载项,并且所有这些都与开发的自签名证书一起运行良好,但现在我们正在设置一个合适的证书,并且它在有趣的挑战方面失败了。
部署使用单独的引导程序.exe(设置为依赖项)来提示一些设置。同样,所有这些都与自签名证书一起使用。
因此,加载项构建正常,主要组件上有一些构建后的步骤,按照:
"mage.exe" -update "$(TargetDir)$(TargetFileName).manifest" -CertFile "E:\COMODOCodeSign.pfx" -Password _pass_
"mage.exe" -update "$(TargetDir)$(TargetName).vsto" -appmanifest "$(TargetDir)$(TargetFileName).manifest" -CertFile "E:\COMODOCodeSign.pfx" -Password _pass_
构建工作,发布工作,一切看起来都不错。
但是,运行安装程序从启动程序的EULA开始,在接受之后,我收到消息:
安装程序检测到somewheretemp \ bootstrapper.exe文件自发布以来已更改或可能已损坏。
现在,我不是“发布”引导程序。在它作为依赖项存储的目录中,没有清单,我根本没有签名。所以我看不出它是如何/在哪里决定改变的。
尽管网络上有答案,但它们都涉及通过清单查找差异,并且没有任何清单可供引导程序使用,并且在签名的VSTO清单中没有可引导的引导程序引用。至少,并不是我可以在已发布的输出上找到grep
。
所以问题:
答案 0 :(得分:0)
问题似乎出现在Publish>项目属性中的先决条件....我设置它有一个安装文件夹URL,但我还没有(还)复制那里的文件,这是我试图在我到达那一点之前测试安装程序。
只要我从此字段中删除了一个URL,所有工作都正常,并且引导程序应用程序正确启动。因此,确保Web安装目录正确可能仍然存在挑战,但这个特定问题已得到解决。