Ric_ Posted March 11, 2009 Posted March 11, 2009 I am beginning to upgrade my terminal servers to Server 2003 x64 so that I can get as much out of them as possible - XenApp is supposedly super optimised for x64. Anyway, the problem I can see myself having is that my redirected desktop and start menu shoretcuts won't necessarily point to the right location. For instance apiece of software on 32-bit Windows might sit in 'C:\Program Files\School Program' whilst on x64 Windows it sits in 'C:\Program Files (x86)\School Program'. What's going to be the easiest way to sort this?
Ric_ Posted March 11, 2009 Author Posted March 11, 2009 Thinking out loud... I could set a ProgramFiles(x86) environment variable on all the x86 machines to match the one on the x64 machines and then point the shortcuts to '%ProgramFiles(x86)%\School Program\some.exe' Although there must be an easier way?
Michael Posted March 11, 2009 Posted March 11, 2009 As a recommendation, you need to leave the default: "C:\Program Files (x86)" on 64bit systems, then create a new "C:\Program Files" directory, so you have both running side by side. Then on 64bit systems, change the following registry entry: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion] "ProgramFilesDir"="C:\\Program Files" Then when you install any new applications, they'll automatically be installed into the new Program Files directory, simplifying your redirected shortcuts
SYNACK Posted March 12, 2009 Posted March 12, 2009 There is an easier way using NTFS reparse points, in windows 2003 you could use a [ame=http://en.wikipedia.org/wiki/NTFS_junction_point]NTFS junction point - Wikipedia, the free encyclopedia[/ame] or in 2008 or vista you could use a [ame=http://en.wikipedia.org/wiki/NTFS_symbolic_link]NTFS symbolic link - Wikipedia, the free encyclopedia[/ame] either of these will allow you to have both C:\Program Files (x86) and C:\Program Files point to the same place seamlessly. 2
Ric_ Posted March 12, 2009 Author Posted March 12, 2009 There is an easier way using NTFS reparse points, in windows 2003 you could use a NTFS junction point - Wikipedia, the free encyclopedia or in 2008 or vista you could use a NTFS symbolic link - Wikipedia, the free encyclopedia either of these will allow you to have both C:\Program Files (x86) and C:\Program Files point to the same place seamlessly. So, in 2003, I could create a NTFS Junction Point (say 'C:\Programs') that points to 'C:\Program Files' on the 32-bit systems and 'C:\Program Files(x86)' on the x64 systems?
Michael Posted March 12, 2009 Posted March 12, 2009 I understand the theory Synack, but what directory would you use then for a redirected Desktop (for example) with shortcuts from either Program Files directory?
SYNACK Posted March 12, 2009 Posted March 12, 2009 So, in 2003, I could create a NTFS Junction Point (say 'C:\Programs') that points to 'C:\Program Files' on the 32-bit systems and 'C:\Program Files(x86)' on the x64 systems? Or just leave the 32bit systems as they are and create one called c:\Program Files on the 64bit systems if that folder does not already exist. If it does exist you could attempt to combine the contents or simply do it the way that you are suggesting above. I understand the theory Synack, but what directory would you use then for a redirected Desktop (for example) with shortcuts from either Program Files directory? With this method you can access the files via either path so your shortcuts would point via the common path of either c:\Program Files or the common path that you create between both architectures to the apps in question.
Michael Posted March 12, 2009 Posted March 12, 2009 So are you saying I could create a common path or link called C:\Program Files1234 and this would automatically work with either C:\Program Files or C:\Program Files (x86) ?
Ric_ Posted March 12, 2009 Author Posted March 12, 2009 Or just leave the 32bit systems as they are and create one called c:\Program Files on the 64bit systems if that folder does not already exist. If it does exist you could attempt to combine the contents or simply do it the way that you are suggesting above. It does already exist (the x64 software goes in there).
SYNACK Posted March 12, 2009 Posted March 12, 2009 (edited) So are you saying I could create a common path or link called C:\Program Files1234 and this would automatically work with either C:\Program Files or C:\Program Files (x86) ? Not really it is simply a per machine way to link to a folder, kind of like mapping a remote location to a drive but for a local folder. This means that if you have apps that are named the same things but in different folders on different computers then you can create a common mapping on the computer which points to the required location. In this example there is a redirected desktop with icons on it that point to C:\program files\some company\some software.exe. This is fine if your redirected desktop is only used on 32bit computers but if you log on to a 64bit machine the same program may be stored in C:\program files (x86)\some company\some software.exe. Instead of having two seporate desktop redirections you can make a mapping to a with a common name that points to the right place on each machine. In this case you could use c:\commonprograms which would link to either C:\program files\ or C:\program files (x86)\ depending on the type of machine. This way your redirected desktop can point to C:\commonprograms\some company\some software.exe and be right on both types of machine. It does already exist (the x64 software goes in there). Ah, then yes the best way would be to setup a common mapping that goes to the right place on each one as in the description that I gave to Michael above. Edited March 12, 2009 by SYNACK Concatinated to save space 3
SYNACK Posted March 13, 2009 Posted March 13, 2009 btw... has nobody already done this? I have never had to implemented it in production but had messed with it before and it did work well. I used the junction.exe from MS but this Link Shell Extension looks like it makes adding and removing them totally trivial and GUI or shell based.
ZeroHour Posted March 13, 2009 Posted March 13, 2009 We did not have the exact issue you did but we just made a new redirected start menu which we added TS apps to as and when they were installed. Then applied the GP to the TS servers with loopback policy enabled.
Ric_ Posted March 13, 2009 Author Posted March 13, 2009 We did not have the exact issue you did but we just made a new redirected start menu which we added TS apps to as and when they were installed. Then applied the GP to the TS servers with loopback policy enabled. I did consider using loopback but it can sometimes be a bit buggy and knowing me, I would end up forgetting to add icons to one of the redirected places.
ricki Posted March 13, 2009 Posted March 13, 2009 HI I dont know if this will help but I was reading the other day about using symbolic links on windows like I do with linux. Does this help any Using Symlinks in Windows Vista :: the How-To Geek Richard
Ric_ Posted March 13, 2009 Author Posted March 13, 2009 @ricki: Yeah... that's what SYNACK suggested in his first post (it's basically what the Junction Points have become in Vista and 2008). Anyway... I have downloaded SysInternals Junction and will use that to create a junction point on all my machines (a startup script should suffice). Then I need to re-make all the shortcuts. Of course, I still haven't finished installing all the wonderful educational software!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now