PDA

View Full Version : Bug with path variables?



the_boz
10-11-2011, 12:57 PM
There seems to be a bug using path variables in IS 2012.

As the feature to override path variables was not available in IS 2010 I created this on my own in our build process using a registry path variable. My files are located in
<PATH_TO_LICENSE>\....
where PATH_TO_LICENSE is a standard path variable which resolves to <ISProjectFolder>\..\License\<SUB_PATH>.
SUB_PATH is a registry path variable which resolves to a simple name (e.g. "MyCompany"). When I modify the registry setting before each build this works fine with IS2010. If <ISProjectFolder> is C:\Installations\MyProject
the files are loaded from C:\Installations\License\MyCompany\...

But IS 2012 tries to load from C:\Installations\MyProject\License\MyCompany\... which does not exist. The ".." is ignored, if there is another path variable behind it. When I change PATH_TO_LICENSE manually to
<ISProjectFolder>\..\License\MyCompany
it works fine and also if I use another variable:
PATH_TO_LICENSE_BASE = <ISProjectFolder>\..\License
PATH_TO_LICENSE = <PATH_TO_LICENSE_BASE >\<SUB_PATH>

Of course I could do this as a workaround, but for about 50 projects? :(

I can also reproduce this behaviour in the "Current Value" column of the Path Variables view.

BTW: it's all Basic MSI or Merge Module projects

hidenori
10-12-2011, 03:58 PM
It seems to be working fine on my side. IS 2012 does not ignore ".." in <ISProjectFolder>\..\License\<SUB_PATH>. It is resolved as C:\Installations\License\MyCompany\. Would it be possible for you to provide a sample project that replicates the behavior you are experiencing?

the_boz
10-13-2011, 04:16 AM
Thanks for your reply.

I just started a new Basic MSI project using the wizard in IS 2012 Premier (Evaluation). I added the path variables as you can see in the attached screenshot and a matching registry value to HKEY_CURRENT_USER. Nothing else.

As you can see from the screenshot, PATH_TO_LICENSE and PATH_TO_LICENSE3 should resolve to the same path, but they don't. PATH_TO_LICENSE3 is OK, as PATH_TO_LICENSE2 resolves correctly, but PATH_TO_LICENSE ignores the ".." before "License".

If you add a file to the project (e.g. <PATH_TO_LICENSE>\Test.txt), it will not be found during build.

For IS 2010 this works fine.

hidenori
10-13-2011, 01:50 PM
Now I can reproduce your problem and submitted the work order #IOA-000066046 so that it will be fixed in a service pack.

Thank you for reporting this.