Windows installer 将环境变量传递给msi中的INSTALLDIR

Windows installer 将环境变量传递给msi中的INSTALLDIR,windows-installer,dsc,Windows Installer,Dsc,我正在尝试编写PowerShell DSC配置,代码如下: Package RapidCRC { Ensure = "Present" Path = "C:\Repo\RapidCRC.Unicode.v0.3.27.x64\RapidCRC-Setup-0.3.27-x64.msi" Name = "RapidCRC (x64) 0.3.27" ProductId = "{27A6AB13-B66B-4AB8-BDA1-313477475F6A}" A

我正在尝试编写PowerShell DSC配置,代码如下:

Package RapidCRC
{
    Ensure = "Present"
    Path  = "C:\Repo\RapidCRC.Unicode.v0.3.27.x64\RapidCRC-Setup-0.3.27-x64.msi"
    Name = "RapidCRC (x64) 0.3.27"
    ProductId = "{27A6AB13-B66B-4AB8-BDA1-313477475F6A}"
    Arguments = 'INSTALLDIR="C:\Program Files\Utilities\RapidCRC.Unicode" ALLUSERS=2 ARPSYSTEMCOMPONENT=0'
}
我想将C:\Program文件作为环境变量传递。我尝试了以下方法:

Arguments = 'INSTALLDIR="%ProgramFiles%\Utilities\RapidCRC.Unicode" ALLUSERS=2 ARPSYSTEMCOMPONENT=0'

Arguments = 'INSTALLDIR="[ProgramFiles64Folder]Utilities\RapidCRC.Unicode" ALLUSERS=2 ARPSYSTEMCOMPONENT=0'

但它们不起作用。感谢您的帮助。

您正在查看PowerShell脚本。因此,您可以在DSC配置脚本中使用
$env:ProgramFiles

Package RapidCRC
{
    Ensure = "Present"
    Path  = "C:\Repo\RapidCRC.Unicode.v0.3.27.x64\RapidCRC-Setup-0.3.27-x64.msi"
    Name = "RapidCRC (x64) 0.3.27"
    ProductId = "{27A6AB13-B66B-4AB8-BDA1-313477475F6A}"
    Arguments = "INSTALLDIR=`"$($env:ProgramFiles)\Utilities\RapidCRC.Unicode`" ALLUSERS=2 ARPSYSTEMCOMPONENT=0"
}

旁注:请注意
参数中使用的反勾号

您的DSC设置是什么?推/拉?您正在使用x86或x64操作系统吗?这是一个推送设置。所有系统(我要推出的系统和接收配置的系统)都是x64。