Monday 16 January 2012

Installing multiple instances of cygwin in Windows XP

When I was doing my research, I wanted to install two instances of cygwin to ease the job. I found some tips in a website and modified them to suite my needs. Though I do not remember the original idea's link, I would like to share the mine.
1. Install the first instance of cygwin in a partition.

2. The installation makes the following registry entries.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2]
"cygdrive prefix"="/cygdrive"
"cygdrive flags"=dword:00000022

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/]
"native"="C:\\hide-cygwin"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin]
"native"="C:\\hide-cygwin/bin"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib]
"native"="C:\\hide-cygwin/lib"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options]

3. Export the registry tree of HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions. If help is needed with exporting registry, refer to this link.

4. Then copy cygwin installation folder to another location (partition), and make a copy of the exported registry file. Open the copied registry file and change the contents to reflect the partition change.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2]
"cygdrive prefix"="/cygdrive"
"cygdrive flags"=dword:00000022

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/]
"native"="D:\\cyg2win"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin]
"native"="D:\\cyg2win/bin"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib]
"native"="D:\\cyg2win/lib"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options]

5. Now I have 2 exported registry files. And I am going to create 2 shortcuts to bash binary file like this, C:\hide-cygwin\bin\bash.exe --login -i. And another shortcut pointing to D:\cyg2win\bin\bash.exe --login -i.

6. Finally, the cygwin instances can be run successfully. When one of them is about to run, the related registry file needs to be applied. Otherwise, bash would have problems.


Disclaimer: I am not saying this is the best solution. At least it solved my problem.

No comments:

Post a Comment