Powershell脚本的ps1到exe部署,找不到所需的所有信息

Powershell脚本的ps1到exe部署,找不到所需的所有信息,powershell,installation,Powershell,Installation,我正在尝试创建一个.exe文件,该文件将运行powershell脚本,我必须安装应用程序的各种组件。我正在进行第1步(共4步),以安装整个应用程序,并希望将其整合到一个软件包中。事情进展不顺利。我正在使用Ps1来执行f2ko。我在软件上找不到任何文档,但它符合我的要求。问题在于打包文件及其运行方式。我遇到了几个问题。主要问题似乎是启动进程,当exe正在运行时,我收到一个错误,该错误表明 Start-Process : This command cannot be run completely b

我正在尝试创建一个
.exe
文件,该文件将运行powershell脚本,我必须安装应用程序的各种组件。我正在进行第1步(共4步),以安装整个应用程序,并希望将其整合到一个软件包中。事情进展不顺利。我正在使用Ps1来执行f2ko。我在软件上找不到任何文档,但它符合我的要求。问题在于打包文件及其运行方式。我遇到了几个问题。主要问题似乎是
启动进程
,当
exe
正在运行时,我收到一个错误,该错误表明

Start-Process : This command cannot be run completely because the system cannot find all the information required.
At C:\Users\adminjp\AppData\Local\Temp\2605.tml\2606.tmp\2607.ps1:9 char:16
安装程序的状态栏会掩盖错误的其余部分。状态栏将运行,但进程不会运行。我最初在
ExecutionPolicy
中遇到了一个问题,但是通过手动更改值来运行脚本,这一问题得到了纠正。我在运行这个脚本时遇到了多个问题,现在在线上没有我读过的文章了。以下是我的powershell脚本:

Set-ExecutionPolicy -Force remotesigned

$NETfile = "env:p2eincfilepath\1 - NDP471-KB4033342-x86-x64-AllOS-ENU.exe"
$NETargs = "/q"
$SQLfile = "env:p2eincfilepath\setup.exe"
$SQLargs = "/ConfigurationFile=`".\ConfigurationFile_SQLExpress.ini`""

function Show-Progress ($file, $arguments, $component){
    $process = Start-Process $file $arguments -PassThru
    for($i = 0; $i -le 100; $i = ($i + 1) % 100)
    {
        Write-Progress -Activity "Installer" -PercentComplete $i -Status "Installing $component"
        Start-Sleep -Milliseconds 100
        if ($process.HasExited) {
            Write-Progress -Activity "Installer" -Completed
            break
        }
    }
}

Show-Progress $NETfile $NETargs ".NET 4.7.2"
Show-Progress $SQLfile $SQLargs "SQL Express"
将此脚本转换为
exe
的程序是设置提取位置的程序,据我所知,我无法设置该位置。附件是他们关于如何引用嵌入文件的说明的屏幕截图:

我使用的是
env:p2eincfilepath
,因为这是访问环境变量的powershell方法,并且应用程序似乎要创建或使用环境变量。如果您需要其他信息,请告诉我。如果我直接从powershell运行Ps1并将文件放在根目录中,并使用
/
调用它们,那么Ps1似乎可以正常工作。我真的希望继续使用此功能,因为这会让我的状态栏让用户知道正在安装什么:


我认为您需要在env变量前面有一个
$
符号,以便填写它。e、 g

$NETfile = "$env:p2eincfilepath\1 - NDP471-KB4033342-x86-x64-AllOS-ENU.exe"
$NETargs = "/q"
$SQLfile = "$env:p2eincfilepath\setup.exe"
$SQLargs = "/ConfigurationFile=`".\ConfigurationFile_SQLExpress.ini`""