我正致力于自动化.NET 4.0 ClickOnce WPF应用程序的安装程序,该应用程序需要在app.config文件中设置一些项目.我已经经历了一个棘手的过程,即找到我必须遵循的特定步骤,使用Mage.exe(即更新并重新签名应用程序和部署清单),现在我正在尝试将其自动化以进行安装.
我选择使用.deploy扩展来最小化IIS/Internet Explorer安全机制的问题,因此基本上算法如下(基于ClickOnce(Saurabh Bhatia)中的签名和重新签名清单以及使用Mage的ClickOnce WPF应用程序的更新配置或MageUI,作为主要来源之一):
\Application Files\App_%HighestVersion%\文件夹mage -u %app%.exe.manifest -cf cert.pfxmage -u %app%.application -appm %app%.exe.manifest -cf cert.pfx%app%.application2级(到..\..- 部署根)如果手动完成,那将非常有效.我可以运行一个.cmd文件,根据环境细节(路径等)进行自定义,但是我需要包含mage.exe在部署中,以及Microsoft是否允许我们这样做对我来说是一个悬而未决的问题.因此,我正在尝试在Installer课堂上执行类似的操作:
X509Certificate2 ct = new X509Certificate2(sPathCert);
// .. Remove .deploy extension (for files in the sPathApp folder).
sPathMft = Directory.GetFiles(sPathApp, "*.exe.manifest")[0];
ApplicationManifest am = …Run Code Online (Sandbox Code Playgroud) 我有一个由Visual Studio 2010部署的ClickOnce .NET 4应用程序,通过UNC路径.我打开.application文件,更改启动位置以使用HTTP地址,签名和关闭.然后,应用程序会出现此错误:
应用程序清单不接受<compatibleFrameworks>的规范.
当我签名时如何让MageUI.exe包含这个必需的元素?
这类似于Stack Overflow问题为什么Mage.exe没有生成compatibleFrameworks属性?.
我尝试从建议的位置打开MageUI,但没有用,我真的不必使用MSBuild.这是一个简单的应用程序,我更喜欢Visual Studio的简单内置部署.
此外,如果有人想知道,我无法通过Visual Studio部署HTTP,因为这需要安装FrontPage扩展,以及其他原因.