0

我有一个 Windows Azure 启动任务,我正在尝试运行它来安装 MSI。我正在尝试通过 powershell 脚本运行任务。当我有以下情况时,我可以确认 powershell 脚本运行:

"Before powershell" >> C:\hello.txt

$msi = "E:\approot\bin\StartupScripts\AppInitalization_x64.msi"

if($true -eq [System.IO.File]::Exists($msi))
{
   "file exists" >> C:\hello.txt
}
else
{
  "file does not exist" >> C:\hello.txt
}

"After powershell" >> C:\hello.txt

如果我运行部署,我的hello.txt包含“之前,文件存在”和“之后”。

但是,如果我尝试将文件存在条件更改为:

  $arguments= ' /qn /l*v C:\AppInitalization_x64.txt' 
  Start-Process `
     -file  $msi `
     -arg $arguments `
     -passthru

部署挂起(我让它等待了五个小时)。如果我远程进入机器并尝试相同的 powershell 片段,它安装得很好。

当我将它作为启动脚本的一部分时,为什么它会挂起的任何想法?

4

1 回答 1

0

您是否AppInitialization_x64.txt查看过 Windows Installer 程序包挂在哪里?这应该会给您一个很好的指示,因为您已经启用了详细日志记录。

于 2012-10-14T18:15:39.657 回答