Changeset 1501

Show
Ignore:
Timestamp:
10/14/08 14:59:00 (3 months ago)
Author:
astormont
Message:

Yeah\! setting on winver in wine-doors works\!

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wine-doors/trunk/src/ui.py

    r1500 r1501  
    167167        # Set winver 
    168168        selected_win_version = wine.GetWindowsVersions()[wn_prefs['cb_winver'].get_active()] 
    169         print selected_win_version 
     169        if selected_win_version != wine.GetWindowsVersion(): 
     170            wine.SetWindowsVersion( selected_win_version[1],  
     171                                    selected_win_version[2], 
     172                                    selected_win_version[3], 
     173                                    selected_win_version[4] ) 
    170174 
    171175        # Set audio backend 
     
    410414            if set_win_version == win_versions[i]: 
    411415                wn_prefs['cb_winver'].set_active( i ) 
    412         print set_win_version 
    413416 
    414417        # Detect wineversion and leave it at that 
  • wine-doors/trunk/src/wine.py

    r1500 r1501  
    6161                       self.getRegistry( "HKLM\\\\Software\\\\Microsoft\\\\Windows NT\\\\CurrentVersion", "CSDVersion" ) ] 
    6262 
    63         print "Raw output: ", output 
    64  
    6563        for win_version in self.GetWindowsVersions(): 
    6664            if [ win_version[1], win_version[2], win_version[3], win_version[4] ] == output: 
    6765                return [ win_version[0] ] + output 
    6866 
    69     def SetWindowsVersion( self, version, platform, service_pack = False ): 
     67    def SetWindowsVersion( self, version, build, platform, service_pack ): 
     68        # If we are switching from an dos based shite version of windows to an 
     69        # openvms (nt) based shite version of windows, we need to remove some reg keys 
     70        old_platform = self.GetWindowsVersion()[3] 
    7071        if platform == self.WIN32_WINDOWS_PLATFORM: 
    71             current_version =  "HKLM\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\VersionNumber" 
    72             csd_version = "HKLM\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\CSDVersion" 
     72            if old_platform == self.WIN32_NT_WINDOWS_PLATFORM: 
     73                self.setRegistry( "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\CurrentVersion", "" ) 
     74                self.setRegistry( "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\CSDVersion", "" ) 
     75                self.setRegistry( "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\CurrentBuildNumber", "" ) 
     76            self.setRegistry( "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\VersionNumber", version ) 
     77            self.setRegistry( "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\SubVersionNumber", service_pack ) 
    7378        elif platform == self.WIN32_NT_PLATFORM: 
    74             current_version =  "HKLM\\\\Software\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\CurrentVersion" 
    75             csd_version = "HKLM\\\\Software\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\CSDVersion" 
    76  
    77         if not current_version: 
    78             log.Warn( "Setting of windows platform to %s not implemented" % platform ) 
    79             return 
    80         else: 
    81             self.setRegistry( current_version, version ) 
    82  
    83         if service_pack: 
    84             self.setRegistry( csd_version, service_pack ) 
     79            if old_platform == self.WIN32_WINDOWS_PLATFORM: 
     80                self.setRegistry( "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\VersionNumber", "" ) 
     81                self.setRegistry( "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\SubVersionNumber", "" ) 
     82            self.setRegistry( "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\CurrentVersion", version ) 
     83            self.setRegistry( "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\CSDVersion", service_pack ) 
     84            self.setRegistry( "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\CurrentBuildNumber", build ) 
     85        else: 
     86            return False 
    8587 
    8688    def GetWindowsVersions( self ):