After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 756904 - wixl-heat does not escape dollar signs in filenames
wixl-heat does not escape dollar signs in filenames
Status: RESOLVED FIXED
Product: msitools
Classification: Other
Component: wixl
0.94
Other Linux
: Normal major
: 1.0
Assigned To: msitools maintainer(s)
msitools maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2015-10-21 11:51 UTC by Benjamin Hubert
Modified: 2017-06-01 21:31 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Benjamin Hubert 2015-10-21 11:51:58 UTC
In my .wxs file I have a Component pointing to a file with a dollar sign:

    <Component Id="cmpABCDEF0123456789ABCDEF0123456789" Guid="*">
      <File Id="filABCDEF0123456789ABCDEF0123456789"
            KeyPath="yes"
            Source="$(var.SourceDir)/classes/foo/SyncStep$4.class"/>
    </Component>

When I run wixl, it fails with the following error:

    Couldn't find file classes/foo/SyncStep4.class

Of course, this file does not exist because the dollar sign is missing.
Comment 1 Benjamin Hubert 2015-10-22 14:39:45 UTC
Any idea how to fix this?
Any idea for a workaround?

I cannot change the filenames as these are compiled Java classes.
Comment 2 Benjamin Hubert 2015-10-22 16:16:20 UTC
Just found out, that dollar signs inside the wxs file must be escaped with another dollar sign, so $$ for $.

But then the problem is with wixl-heat which generated the wxs in my case.
Comment 3 Marc-Andre Lureau 2017-06-01 21:31:07 UTC
should be fixed in master, let me know if the problem persists

thanks