Menu

#3213 !(bind.packageVersion.PackageID) isn't expanded in bundle

v3.8
migrated
nobody
None
2013-08-21
2013-02-12
doomer
No

Here how I define variable in my bundle project:

<Variable Name="MyPackageVersion" Type="version" Value="!(bind.packageVersion.MyPackage)"/>

<ExePackage Id="MyPackage" SourceFile="MyPackage.exe" ...=""/>

I've traced Binder.BindBundle (light.exe) execution and find out that below code of that method populates that variable with file version of MyPackage.exe:
// Resolve any delayed fields before generating the manifest.
if (0 < delayedFields.Count)
{
this.ResolveDelayedFields(bundle, delayedFields, variableCache, null);
}
But I didn't see any usage of delayedFields local variable in remaining code of that method.
BurnManifest from final executable contains orignial value as no resolving took place:
<Variable Id="EmbeddedBuildProcessorSystem" Value="!(bind.packageVersion.MyPackageVersion)" Type="version" Hidden="no" Persisted="no"/>

Discussion

  • doomer

    doomer - 2013-02-12

    Here are pieces from bundle project:

    Variable
    Name="MyPackageVersion"
    Type="version"
    Value="!(bind.packageVersion.MyPackage)"

    ExePackage
    Id="MyPackage"
    SourceFile="MyPackage.exe"
    ...

    And this piece was extracted from BurnManifest of produced EXE:

    Variable Id="MyPackageVersion" Value="!(bind.packageVersion.MyPackageVersion)" Type="version" Hidden="no" Persisted="no"

     
  • Rob Mensching

    Rob Mensching - 2013-03-04
    • milestone: v3.7 --> v3.8
     
  • Rob Mensching

    Rob Mensching - 2013-08-21
    • Status: open --> migrated