Установщик SFX не может запустить скрипт powershell после открытия окна powershell

Я создаю установщик 7zip sfx в последней версии Windows 10, который, как ожидается, запустит сценарий powershell. когда извлечение завершено, окно powershell отображается, но быстро закрывается без выполнения скрипта.

Любая помощь высоко ценится!

Я попытался подписать файл сценария и сам файл installer.exe самоподписанным сертификатом, но безуспешно.

Я изменил Powershell ExecutionPolicy на Unrestricted для всех областей устранения неполадок, но тоже не повезло

Я использую монитор процесса в sysinternals, чтобы зафиксировать поведение powershell.exe, и обнаружил, что powershell начинает выходить из потока после чтения и записи c:\Users\xxx\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileData-Interactive

Вот мой config.txt для 7zip sfx:

;!@Install@!UTF-8!
Title = "Cloud API"
BeginPrompt = "Do you want to install Cloud API?"
RunProgram = "powershell.exe -NoExit –NoProfile -ExecutionPolicy Bypass -File %%T\\cloud_api\\installer.PS1"
Directory = "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\"
;!@InstallEnd@!

Я заархивирую файлы в python:

..\\7zr a -sfx7zSD.sfx cloud-api.7z .\\cloud-api -r -y

Я ожидаю, что installer.PS1 запустится после распаковки, но только powershell.exe запустится и быстро завершится без запуска скрипта.

Вы пытались объявить полный путь к файлу .ps1? Также подумайте о том, чтобы поставить pause в конце скрипта. Если он действительно вызывается, открывающееся окно PS должно приостановиться перед закрытием.

root 30.05.2019 22:01

Спасибо @root за вашу помощь. Я только что дважды проверил путь к installer.PS1 и обнаружил, что он неверен. После того, как я исправил это, он был выполнен, как и ожидалось. Не могли бы вы добавить свой комментарий в качестве ответа для подтверждения? Еще раз спасибо!

szheng 30.05.2019 22:15

Превосходно. Я рад, что смог помочь.

root 30.05.2019 22:35
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
812
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Первым шагом к устранению этой проблемы будет объявление полного пути к скрипту .ps1 в конфигурации 7zip. Это гарантирует, что вы вызываете сценарий, который собираетесь запустить.

Я попробовал полный путь к файлу сценария. Это не работает. Сценарий powershell является одним из файлов в 7Z exe. Похоже, что 7Zip EXE пытается запустить команду перед извлечением файлов. Когда выполнение завершено, у меня нет файлов в папке, в которой я запускал exe. В документации предполагается, что %%T является временной папкой, в которую извлекаются файлы.

Joe B 08.06.2021 21:46

Другие вопросы по теме