Как я могу позволить приложению ClickOnce использовать параметры Url при сборке с mage.exe?
Я создаю только онлайн приложение ClickOnce, используя mage.exe, который должен получить параметры при запуске. Я хотел бы использовать параметры URL для этого, но я не могу найти способ сделать это в mage.exe. VS и mageui имеют опцию параметров URL доверия, но в mage ничего нет. Есть что-то, чего мне не хватает?
Если нет, где мне нужно установить это значение? Я попытался установить его в файле.application, но это не работает. То есть приложение запускается нормально, но URL-адрес активации все еще пуст. Я предполагаю, что мне нужно изменить другие XML-файлы, но я не знаю, какие именно.
<deployment install="false" mapFileExtensions="true" trustURLParameters="true" />
Спасибо эрик
1 ответ
Оказывается, что mage.exe не имеет возможности добавить атрибут параметров URL доверия. VS и MageUI.exe могут оба делать это, но если вам нужно использовать mage.exe (т. Е. Сценарий сборки), то вам нужно напрямую изменить файлы XML. Я нашел поток на 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