【问题标题】:How can I allow a ClickOnce application to use Url parameters when building with mage.exe?使用 mage.exe 构建时,如何允许 ClickOnce 应用程序使用 Url 参数?
【发布时间】:2013-10-24 17:48:37
【问题描述】:

我正在使用 mage.exe 构建一个仅限在线的 ClickOnce 应用程序,该应用程序在启动时需要获取参数。我想为此使用 URL 参数,但我在 mage.exe 中找不到执行此操作的方法。 VS 和 mageui 有信任 URL 参数选项,但在 mage 中没有。有什么我想念的吗?

如果没有,我需要在哪里设置这个值?我尝试在 .application 文件中设置它,但这不起作用。也就是说,应用程序启动正常,但激活 url 仍然是空的。我假设我需要更改其他 xml 文件,但我不知道是哪些。

<deployment install="false" mapFileExtensions="true" trustURLParameters="true" />

谢谢, 埃里克

【问题讨论】:

    标签: clickonce mage


    【解决方案1】:

    原来mage.exe没有添加信任URL参数属性的能力。 VS 和 MageUI.exe 都可以,但是如果需要使用 mage.exe(即构建脚本),则需要直接修改 XML 文件。我发现了一个thread on MSDN,其中包含以下运行良好的 PowerShell 方法。

    [System.Xml.XmlDocument] $manifest = new-object System.Xml.XmlDocument
    $manifest.load( (resolve-path $deploymentManifest) )
    [System.Xml.XmlNode] $updateNode = $manifest.assembly.deployment.subscription.update
    $updateNode.RemoveAll()
    $updateNode.AppendChild($manifest.CreateElement("beforeApplicationStartup", "urn:schemas-microsoft-com:asm.v2"))
    $trustUrlParameters = $manifest.CreateAttribute("trustURLParameters")
    $trustUrlParameters.set_Value("true")
    $manifest.assembly.deployment.SetAttributeNode($trustUrlParameters)
    SaveXML "$deploymentManifest" $manifest
    #Sign the mangled deployment manifest
    mage -sign "$deploymentManifest" -CertHash $signingCertificateThumbPrint
    

    【讨论】:

    • 微软有时让我发疯
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多