Я пытаюсь развернуть надстройку надстройки с помощью установщика clickonce. У меня есть пакетный файл, который почти работает, однако при попытке установить в Windows XP я получаю сообщение об ошибке "подпись xml недопустима". Довольно хорошо известно, что XP терпит неудачу с сертификатами SHA256 . Также известно, что обновление 3 для Visual Studio 2013 устраняет проблему при публикации с использованием интерфейса Visual Studio. Мне интересно, как я могу выполнить одно и то же исправление с помощью signtool или mage в командной строке. Вот мой текущий пакетный файл, который работает для всего, кроме Windows XP:
:: Build and publish
msbuild /target:clean,publish /property:MapFileExtensions=false /property:Configuration="Release" /property:ApplicationVersion="1.0.0.0" /property:InstallUrl="https://example.com" /property:UpdateEnabled="true" /property:UpdateMode="Foreground" /property:UpdateInterval="0" /property:UpdateIntervalUnits="days" /property:PublisherName="Example" /property:ProductName="Example Outlook Add-In" /property:FriendlyName="Example Outlook Add-In" /property:LoadBehavior="3" /property:BootstrapperEnabled="true" /property:IsWebBootstrapper="true"
:: Sign the exe
signtool sign /fd SHA1 /f "certificate.pfx" "publish\setup.exe"
:: Sign the application manifest
mage -sign "publish\Application Files\Example_1_0_0_0\Example.dll.manifest" -CertFile "certificate.pfx"
mage -update "publish\Application Files\Example_1_0_0_0\Example.dll.manifest" -CertFile "certificate.pfx" -algorithm sha1RSA
:: Sign the deployment manifests (there are 2 locations)
mage -update "publish\Application Files\Example_1_0_0_0\Example.vsto" -appmanifest "publish\Application Files\Example_1_0_0_0\Example.dll.manifest" -CertFile "certificate.pfx" -algorithm sha1RSA
mage -update "publish\Example.vsto" -appmanifest "publish\Application Files\Example_1_0_0_0\Example.dll.manifest" -CertFile "certificate.pfx" -algorithm sha1RSA
Я пробовал много настроек для этого script, и именно это я получил. Все работает отлично, если я публикую с тем же сертификатом .pfx, используя кнопку "Опубликовать сейчас" Visual Studio, но я хотел бы заставить его работать в командной строке для автоматизации.