Upgrading OS to x64

Posts   
 
    
mihies avatar
mihies
User
Posts: 800
Joined: 29-Jan-2006
# Posted on: 30-Oct-2009 16:42:01   

v2.6

After I've upgraded my computer to x64 templates (of a project built on x86) aren't found anymore, at least some of them. Default template bindings are pointing to absolute path starting with C:\Program Files\Solution .... which is obviously wrong since LLBLGenPro lives in x86 folder (why don't you distribute it as x64 as well?)

What would be the easiest way to solve the issue? reinstall of LLBLGenPro? Note that new LLBLGenPro project works fine.

Miha

Let me know if you need further info.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 30-Oct-2009 18:15:18   

As everything is tested inside folders not present in program files, there's no hard-coded path (the test env. doesn't even have it installed) to that folder.

Did you add an additional templates folder in the preferences/project properties?

Frans Bouma | Lead developer LLBLGen Pro
mihies avatar
mihies
User
Posts: 800
Joined: 29-Jan-2006
# Posted on: 30-Oct-2009 18:32:10   

~~Yes, I've added a project-relative folder.

Take note that when the project was created LLBLGenPro was in Program Files folder while now it resides in Program Files(x86).

I'd add a screenshot of current state but it looks like I can't (even though [add attachment] is checked).~~

mihies avatar
mihies
User
Posts: 800
Joined: 29-Jan-2006
# Posted on: 30-Oct-2009 18:32:43   

Yes, I've added a project-relative folder.

Take note that when the project was created LLBLGenPro was in Program Files folder while now it resides in Program Files(x86).

Screenshot of current "Generate/Template Bindings" is attached.

UPDATE: Linq and BackwardsCompatibility.NET20 bindings seems ok (relative) while SharedTemplates and SqlServerSpecific ones are absolute.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 31-Oct-2009 09:48:06   

mihies wrote:

Yes, I've added a project-relative folder.

Take note that when the project was created LLBLGenPro was in Program Files folder while now it resides in Program Files(x86).

Screenshot of current "Generate/Template Bindings" is attached.

UPDATE: Linq and BackwardsCompatibility.NET20 bindings seems ok (relative) while SharedTemplates and SqlServerSpecific ones are absolute.

Please check the xml in the templatebindings files, they all should contain just relative paths (they do here in the official files).

Frans Bouma | Lead developer LLBLGen Pro
mihies avatar
mihies
User
Posts: 800
Joined: 29-Jan-2006
# Posted on: 31-Oct-2009 10:00:52   

Yes, they are relative.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 01-Nov-2009 10:57:18   

mihies wrote:

Yes, they are relative.

Hmm. Ok, so somewhere the full path is constructed from the fragment of the 32bit path. This is the 'root folder' where the templatebindings file is read from.

This folder is specified in the llblgenpro.exe.config file, which is also a relative path. Futher, if you have specified a full path in the additional templates folder property/preference, the bindings there are read from that folder and that folder is the 'root' folder of all relative folders in the bindings file.

So, do you have the original 32bit folder specified as additional folder in preferences/properties?

Frans Bouma | Lead developer LLBLGen Pro
mihies avatar
mihies
User
Posts: 800
Joined: 29-Jan-2006
# Posted on: 01-Nov-2009 11:09:53   

Hey Frans,

Mistery solved, thank you and sorry to bother you. I actually use copies of mentioned problematic .templatebindings files and there the paths are, of course, absolute because the templatebindings files are stored in a subfolder of my .net project. I forgot it since I've created it a long time ago and didn't consider that .templatebinding files in AdditionalTemplates takes precedence over default ones (whichs makes sense of course). Furthermore upgrading to x64 misleaded me.

To avoid such (dumb user) mistakes in the future perhaps you could a) show the origin of templatebinding files in Generate dialog. There is enought place in description part of the window. b) perhaps there is a better way than specifying absolute paths? Some sort of variable, like %LLBLGenProRoot%?

mihies avatar
mihies
User
Posts: 800
Joined: 29-Jan-2006
# Posted on: 01-Nov-2009 11:45:19   

Perhaps just leaving relative path will do the trick? Is the relative path in templatebinding always relative to LLBLGenPro or to the folder where templatebinding file resides?

Looks like this won't work.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 01-Nov-2009 12:45:37   

to where the templatebindings file resides, that folder is stored in the bindings file and when asked the full path is created from that folder and the relative folder. IMHO that's enough?

Frans Bouma | Lead developer LLBLGen Pro
mihies avatar
mihies
User
Posts: 800
Joined: 29-Jan-2006
# Posted on: 03-Nov-2009 09:03:15   

Right, that's enough.