Attached is a fixed version of the patch.
 -----Original Message-----
 From: Richard W.M. Jones [mailto:rjones@redhat.com]
 Sent: Friday, May 14, 2010 10:23 AM
 To: Amos Benari
 Cc: libguestfs(a)redhat.com
 Subject: Re: [Libguestfs] Emailing: 0002-use-single-registry-change- 
 for-all-supported-windows.patch
 
 > From: unknown <Amos@.(none)>
 
 In ~/.gitconfig set:
 
   [user]
           name = Your Name
           email = your(a)email.example.com
 
 >  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\viostor\Enum]
 > -
"0"="PCI\\\\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00\\\\3&13c0b0c5&0&2
 0
 "
 >
+"0"="PCI\\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00\\3&13c0b0c5&0&20"
 
 This change won't do what you expect.  Because of the vaguaries of 
 Perl backslash escaping in single quotes, you need to use four 
 backslashes to get a single backslash in the hive, but only in value 
 strings.
 
 See:
 
 
http://en.wikibooks.org/wiki/Perl_Programming/Strings#Single_Quoted_St
 r
 ings 
Fixed.
 
 As Matt noted on IRC it would be much better to change this to use a 
 heredoc.
 
 > -[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\RHSrvAny]
 > +[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\rhev-apt]
 
 This depends on some change (or not) to RHSrvAny.  I made this change 
 to the service name:
 
 
http://github.com/rwmjones/rhsrvany/commit/2de2f11dc0c97aab0f8778aa1ee
 2
 dc35f4034a69
 
 Anyway, we can discuss the issue of open sourcing RHSrvAny separately. 
This is the system I have tested.
Will be happy to change and repeat the tests once it will be decided.
 
 > -  <app os='linux' distro='rhel' major='5'
arch='i686' 
 > name='kernel'>
 > +  <app distro='rhel' major='5' arch='i686'
name='kernel'>
 
 You seem to be reverting another patch, or was this really 
 intentional? 
Fixed.
This is an error in my patch I haven't changed this line intentionally.
 
 >    <!-- Windows -->
 > -  <app os='windows' major='5' arch='i386'
name='viostor'>
 > +  <app os='windows' major='5' minor='1'
arch='i386' name='viostor'>
 > +    <path>windows/xp/i386/viostor.sys</path>
 > +  </app>
 > +  <app os='windows' major='5' minor='2'
arch='i386' name='viostor'>
 >      <path>windows/2003/i386/viostor.sys</path>
 >    </app>
 > -  <app os='windows' major='5' arch='x86_64'
name='viostor'>
 > +  <app os='windows' major='5' minor='2'
arch='x86_64'
 name='viostor'>
 >      <path>windows/2003/x86_64/viostor.sys</path>
 >    </app>
 >    <app os='windows' major='6' arch='i386'
name='viostor'> @@ -86,6 
 > +89,12 @@
 >    <app os='windows' major='6' arch='x86_64'
name='viostor'>
 >      <path>windows/2008/x86_64/viostor.sys</path>
 >    </app>
 > +  <app os='windows' major='6' minor='1'
arch='i386' name='viostor'>
 > +    <path>windows/7/i386/viostor.sys</path>
 > +  </app>
 > +  <app os='windows' major='6' minor='1'
arch='x86_64'
 name='viostor'>
 > +    <path>windows/7/x86_64/viostor.sys</path>
 > +  </app>
 >    <!-- RHSrvAny is compiled as a 32 bit app even on 64 bit Windows 
 > -
 ->
 >    <app os='windows' name='rhsrvany'>
 >      <path>windows/rhsrvany.exe</path> @@ -94,8 +103,8 @@
 >    <app os='windows' name='firstboot'>
 >      <path>windows/firstboot.bat</path>
 >    </app>
 > -  <app os='windows' name='firstbootzip'>
 > -    <path>windows/firstboot.zip</path>
 > +  <app os='windows' name='firstbootapp'>
 > +    <path>windows/rhev-apt.exe</path>
 >    </app>
 
 This seems fine.  Do we have separate versions of viostor for all the 
 versions of Windows, or are all those just the same file? 
In the build system we
have separate viostore for each, I have taken them
from rhev-m build.
 
 To what extent have you tested and proven this works? 
I did test from first boot to complete tools installation on windows
xp-sp3, 2k3-r2 32bit, 2k8-r2 64bit and 7.
 
 Rich.
 
 --
 Richard Jones, Virtualization Group, Red Hat 
 
http://people.redhat.com/~rjones virt-p2v converts physical machines 
 to virtual machines.  Boot with a live CD or over the network (PXE) 
 and turn machines into Xen guests.
 
http://et.redhat.com/~rjones/virt-p2v