views:

42

answers:

1

I have the following test defined in a psake build script:

task package -depends create_wix_content_fragment {

    & $candle -dProductName=Foo `
         -dVersion=$version `
         -dProductID=0cd64670-5769-4e34-8b21-c6242e7ca5a2 `
         -dUpgradeCode=307601e9-4eea-4b5c-938a-354115d5c419 `
         -dAppPool=FooAppPool `
         -dInstallDirectory=Foo `
         -ext WixIISExtension `
         -ext WixUIExtension `
         $wix_shell `
         $build_output_dir\WebContent.wxs
}

For some reason Powershell passes the $version variable as a literal string "$version" instead of the value of "1.0.0.0".

How can I prevent this?

A: 

Got it, was able to get the correct parameters by modifying the above like this:

task package -depends create_wix_content_fragment {
    $version_parameter = "-dVersion={0}" -f $version

    & $candle -dProductName=Foo `
         $version_parameter `
         -dProductID=0cd64670-5769-4e34-8b21-c6242e7ca5a2 `
         -dUpgradeCode=307601e9-4eea-4b5c-938a-354115d5c419 `
         -dAppPool=FooAppPool `
         -dInstallDirectory=Foo `
         -ext WixIISExtension `
         -ext WixUIExtension `
         $wix_shell `
         $build_output_dir\WebContent.wxs
}
NotMyself

related questions