Установщик NSIS запускает скрипт PS1. Этот скрипт пытается установить NuGet, но устанавливает его в программных файлах x86? - PullRequest
0 голосов
/ 08 января 2020

У меня есть установщик NSIS, который запускает файл ps1, чтобы установить кучу вещей и настроить сетевые конфигурации.

Когда он запускает скрипт, он устанавливает NuGet в ProgramFilesx86 и по какой-то причине, когда я вызываю «Install-Module xNetworking», он не может найти его, но если он установлен в каталоге ProgramFiles, он работает просто отлично.

У меня есть опция SetRegView 64 в файле nsi.

Почему NuGet устанавливается в 32-битный каталог вместо 64? Есть ли вариант, который мне не хватает?

Команда для установки nuget - это просто "Install-PackageProvider NuGet -force"

1 Ответ

0 голосов
/ 08 января 2020

Перенаправитель файловой системы перенаправит 32-разрядные приложения в каталог 32-разрядных программных файлов на 64-разрядном Windows.

!include x64.nsh
RequestExecutionLevel Admin

Section
StrCpy $InstDir $ProgramFiles32
${If} ${RunningX64}
StrCpy $InstDir $ProgramFiles64
${EndIf}
${DisableX64FSRedirection}
SetOutPath $InstDir
File NativeThing.ps1
${EnableX64FSRedirection}
SectionEnd

Если вы запускаете powershell из установщик, возможно, вам придется убедиться, что вы также используете 64-битную powershell .

...