Я пытаюсь настроить непрерывное развертывание приложения Windows Phone 8.1 (Windows Phone RT). Клиент купил сертификат Symantec, который мы будем использовать для подписания приложения. Во-первых, я пытался сделать все, на моей локальной машине:Внедрение Windows Phone 8.1 Непрерывное развертывание через TFS2015 на Windows Server 2012 R2
- Установите TFS2015 (который мы планируем использовать для получения кода из хранилища, создание приложения и его подписания)
- Установите HockeyApp (который мы будем использовать для развертывания) аддон для TFS
Я установки шаги сборки в следующем порядке:
- NuGet Installer,
- Visual Studio Build, Источники
- индекс & Опубликовать СИМВОЛЫ
- Опубликовать построить артефакта
- командной строки (powershell.exe -ExecutionPolicy Неограниченные -File «C: \ Program Files (x86) \ Microsoft \ SDKs WindowsPhoneApp \ v8.1 \ Tools \ MDILXAPCompile \ BuildMDILAPPX.ps1 "-appxfilename" AppxPath.appx "-pfxfilename" SymantecCertPath.pfx "-password XXXX -inputFolder" someFolder \ input "-выходная папка" someFOlder \ output "-silent yes)
- Скопировать файлы (копировать файл appx, appxsym и файл AETX в одну папку)
- Командная строка (powershell.exe -ExecutionPolicy Неограниченные -File "ZipAppxUpload.ps1" -folderpath "FolderWhereAppxAndPfxFileAre" -appxuploadname "MyAppName.appxupload") - Архивирование appx, appxsym и aetx файл в .appupload файле
- HockeyApp - развернуть .appupload to HockeyApp
Мне пришлось подписывать приложение вручную (cmd), так как я не мог его подписать с помощью Visual Studio Community 2015 (ошибка: была сделана попытка ссылаться на токен, который не существует). Я не мог этого разрешить. Подписание вручную выполняется успешно.
Процесс, который я описал, успешно работает на моей локальной машине (Windows 10 Pro). Однако запрос заключается в том, что мы устанавливаем этот процесс на удаленном Windows Server 2012 R2.
Я установил на нем ту же самую версию TFS и Visual Studio и скопировал процесс, который у меня уже есть на моей машине (с необходимыми изменениями пути).
Я получаю сообщение об ошибке на пятом этапе сборки TFS.
2016-09-23T07:41:32.4673974Z ##[error]Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
2016-09-23T07:41:32.4673974Z ##[error]At C:\program files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:295 char:15
2016-09-23T07:41:32.4673974Z ##[error]+ ... $result = Start-Process -FilePath $executable -ArgumentList "$Argum ...
2016-09-23T07:41:32.4673974Z ##[error]+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-09-23T07:41:32.4673974Z ##[error] + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
2016-09-23T07:41:32.4673974Z ##[error] + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
2016-09-23T07:41:32.4673974Z ##[error]
2016-09-23T07:41:32.4673974Z ##[error]breakt : The term 'breakt' is not recognized as the name of a cmdlet, function, script file, or operable program.
2016-09-23T07:41:32.4673974Z ##[error]Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
2016-09-23T07:41:32.4830227Z ##[error]At C:\program files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:300 char:8
2016-09-23T07:41:32.4830227Z ##[error]+ breakt
2016-09-23T07:41:32.4830227Z ##[error]+ ~~~~~~
2016-09-23T07:41:32.4830227Z ##[error] + CategoryInfo : ObjectNotFound: (breakt:String) [], CommandNotFoundException
2016-09-23T07:41:32.4830227Z ##[error] + FullyQualifiedErrorId : CommandNotFoundException
2016-09-23T07:41:32.4830227Z ##[error]
2016-09-23T07:41:33.5767751Z ##[error]Get-Content : Cannot find path 'D:\...\AppxManifest.xml' because it does
2016-09-23T07:41:33.5767751Z ##[error]not exist.
2016-09-23T07:41:33.5767751Z ##[error]At C:\program files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:464 char:31
2016-09-23T07:41:33.5767751Z ##[error]+ [xml]$Manifestxml = [xml](Get-Content "$appxmanifestpath")
2016-09-23T07:41:33.5767751Z ##[error]+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-09-23T07:41:33.5767751Z ##[error] + CategoryInfo : ObjectNotFound: (D:\...ppxManifest.xml:String) [Get-Content], ItemNotFoundEx
2016-09-23T07:41:33.5767751Z ##[error] ception
2016-09-23T07:41:33.5767751Z ##[error] + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
2016-09-23T07:41:33.5767751Z ##[error]
2016-09-23T07:41:33.5767751Z ##[error]You cannot call a method on a null-valued expression.
2016-09-23T07:41:33.5767751Z ##[error]At C:\program files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:466 char:5
2016-09-23T07:41:33.5767751Z ##[error]+ $Manifestxml.$node.Identity.SetAttribute("Publisher", "$pfxsubjec ...
2016-09-23T07:41:33.5767751Z ##[error]+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-09-23T07:41:33.5767751Z ##[error] + CategoryInfo : InvalidOperation: (:) [], RuntimeException
2016-09-23T07:41:33.5767751Z ##[error] + FullyQualifiedErrorId : InvokeMethodOnNull
2016-09-23T07:41:33.5767751Z ##[error]
2016-09-23T07:41:33.5767751Z ##[error]You cannot call a method on a null-valued expression.
2016-09-23T07:41:33.5767751Z ##[error]At C:\program files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:467 char:5
2016-09-23T07:41:33.5767751Z ##[error]+ $Manifestxml.Save("$appxmanifestpath")
2016-09-23T07:41:33.5924006Z ##[error]+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-09-23T07:41:33.5924006Z ##[error] + CategoryInfo : InvalidOperation: (:) [], RuntimeException
2016-09-23T07:41:33.5924006Z ##[error] + FullyQualifiedErrorId : InvokeMethodOnNull
2016-09-23T07:41:33.5924006Z ##[error]
2016-09-23T07:41:33.5924006Z ##[error]Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
2016-09-23T07:41:33.5924006Z ##[error]At C:\program files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:345 char:15
2016-09-23T07:41:33.5924006Z ##[error]+ ... $result = Start-Process -FilePath $executable -ArgumentList $Argume ...
2016-09-23T07:41:33.5924006Z ##[error]+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-09-23T07:41:33.5924006Z ##[error] + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
2016-09-23T07:41:33.5924006Z ##[error] + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
2016-09-23T07:41:33.5924006Z ##[error]
2016-09-23T07:41:33.5924006Z ##[error]Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
2016-09-23T07:41:33.5924006Z ##[error]At C:\program files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:430 char:15
2016-09-23T07:41:33.5924006Z ##[error]+ ... $result = Start-Process -FilePath $executable -ArgumentList $Argume ...
2016-09-23T07:41:33.5924006Z ##[error]+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-09-23T07:41:33.5924006Z ##[error] + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
2016-09-23T07:41:33.5924006Z ##[error] + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
2016-09-23T07:41:33.5924006Z ##[error]
2016-09-23T07:41:33.6548990Z ##[error]Process completed with exit code 0 and had 3 error(s) written to the error stream.
Когда я пытаюсь подписать приложение на Windows Server с помощью ЦМД (как администратор) с:
powershell.exe -ExecutionPolicy Unrestricted -File "c:\program files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1" -appxfilename "AppxPath.appx" -pfxfilename "SymantecCertPath.pfx" -password XXXX -inputFolder "someFolder\input" -outputfolder "someFOlder\output" -silent yes
я получаю ту же ошибку:
Start-Process : This command cannot be run due to the error: The system cannot
find the file specified.
At C:\program files (x86)\Microsoft
SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:295 char:15
+ ... $result = Start-Process -FilePath $executable -ArgumentList "$Argum ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOp
erationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.C
ommands.StartProcessCommand
breakt : The term 'breakt' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At C:\program files (x86)\Microsoft
SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:300 char:8
+ breakt
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (breakt:String) [], CommandNotFo
undException
+ FullyQualifiedErrorId : CommandNotFoundException
Get-Content : Cannot find path
'D:\...\AppxManifest.xml'
because it does not exist.
At C:\program files (x86)\Microsoft
SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:464 char:31
+ [xml]$Manifestxml = [xml](Get-Content "$appxmanifestpath")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (D:\...ppxManifest.x
ml:String) [Get-Content], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetCo
ntentCommand
You cannot call a method on a null-valued expression.
At C:\program files (x86)\Microsoft
SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:466 char:5
+ $Manifestxml.$node.Identity.SetAttribute("Publisher", "$pfxsubjec ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
You cannot call a method on a null-valued expression.
At C:\program files (x86)\Microsoft
SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:467 char:5
+ $Manifestxml.Save("$appxmanifestpath")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Start-Process : This command cannot be run due to the error: The system cannot
find the file specified.
At C:\program files (x86)\Microsoft
SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:345 char:15
+ ... $result = Start-Process -FilePath $executable -ArgumentList $Argume ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOp
erationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.C
ommands.StartProcessCommand
Start-Process : This command cannot be run due to the error: The system cannot
find the file specified.
At C:\program files (x86)\Microsoft
SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1:430 char:15
+ ... $result = Start-Process -FilePath $executable -ArgumentList $Argume ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOp
erationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.C
ommands.StartProcessCommand
Я получил Powershell версии 5.1 на моем локальном компьютере и версии Powershell версии 5.0 на Windows Server.
Что я делаю неправильно здесь во время подписания? Процесс полностью копируется с моей машины на удаленный Windows Server. Любая помощь приветствуется.
Вы имеете в виду, когда вы устанавливаете TFS на Windows 10 Pro, вы получите успешную сборку? Когда вы устанавливаете TFS Windows Server 2012 R2, вы не получите успешную сборку? Где вы разместили свой агент сборки? –
«Вы имеете в виду, когда вы устанавливаете TFS в Windows 10 Pro, вы получите успешную сборку? Когда вы устанавливаете TFS Windows Server 2012 R2, вы не получите успешную сборку? _» - ** Это правильно ** «_Where вы развертывания сборки агента? _» ** Для моей локальной машине (Win10 Pro), агент загружается, настроен и работать с моего локального места на жестком диске. ** ** Для удаленной ОС Windows Сервер, агент (также) загружен, настроен и запущен на локальном жестком диске компьютера Windows Server. ** – Slavisa
Что еще я могу проверить? Я все еще ищу все, что может быть неправильно здесь. – Slavisa