Я пытаюсь использовать PowerShell для установки функции Windows (не спрашивать) как часть проекта. В консоли PowerShell я могу выполнить команду:Ошибка менеджера пакетов Nuget при вызове Get-WindowsOptionalFeature
Get-WindowsOptionalFeature -Online -FeatureName "IIS-WebServerRole"
и он завершается успешно. Когда я затем попытаться запустить это от PM> строки в Visual Studio 2015 (работают как администратор) тогда дает мне следующую ошибку:
get-windowsoptionalfeature : An attempt was made to load a program with an incorrect format.
At line:1 char:1
+ get-windowsoptionalfeature -online -featurename "IIS-WebServerRole"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-WindowsOptionalFeature], COMException
+ FullyQualifiedErrorId : Microsoft.Dism.Commands.GetWindowsOptionalFeatureCommand
Вот мой текущий $ PSVersionTable от wihtin диспетчера пакетов.
Name Value
---- -----
PSVersion 5.1.14393.206
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.206
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Я могу успешно запустить Get-Help Get-windowsoptionalfeature и он покажет синтаксис для команды. Я побежал команду в попытке поймать блока, чтобы получить исключение, вот что он вернулся:
System.Runtime.InteropServices.COMException (0x8007000B): An attempt was made to load a program with an incorrect format.
at System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord)
Что, если что-нибудь, я могу сделать, чтобы исправить не в состоянии использовать Get-WindowsOptionalFeature из пакета Консоль менеджера?
Я действительно упаковываю сценарий PowerShell в пакете Nuget, как описано в вашей второй ссылке, а затем устанавливаю пакет, который запускает скрипт, а затем прерывается из-за ошибок, перечисленных выше. Я загляну на другую ссылку и посмотрю, к чему это приведет. –
Закончилось с помощью чего-то, что я нашел здесь: http://www.madwithpowershell.com/2015/06/64-bit-vs-32-bit-powershell.html и вызова 64-разрядной командной строки из каталога «sysnative» в скрипте. Спасибо, что указали мне в сторону проблемы с 64-м и 32-мя битками! –