7, R2, Vista and 08 activation disabler.

Discussion in 'Windows 7' started by Hazar, Sep 26, 2009.

  1. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    It just disables activation, no need to activate, windows will say "Activation status unavailable" and you will be able to receive updates. No loaders needed or anything else.
     
  2. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    Yay!

    I think this might take off as quite a viable solution. There are a few bugs but seeing as it works I don't want to change the formula ;)
     
  3. relung

    relung MDL Novice

    Aug 12, 2009
    20
    0
    0
    Hazar

    Plse note that Win update with error code " 80070005 " is still there
    while log on R2 std the next day.
     
  4. Mr Jinje

    Mr Jinje MDL Expert

    Aug 19, 2009
    1,770
    1,101
    60
    Ayup, just try run Windows Update in R2 and get that error. But also found fix.

    1) Uninstall Disabler
    2) Run Manual Windows Update Scan (no need to install anything)
    3) Re-Install Disabler
    4) Now it works.

    Someone else want to test this.

    On first Windows Update connection SPPSVC is needed and some files are downloaded into "C:\Windows\SoftwareDistribution".
     
  5. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    Nice find Jinje!

    I will add that as a note.
     
  6. relung

    relung MDL Novice

    Aug 12, 2009
    20
    0
    0
    Mr Jinje

    did the manual win update before & after applying the disabler,
    It works fine.
    But win update is found having the error code on second day boot up.

    just tried UR suggestion and tested win update without any problem.
    Thx
     
  7. Mr Jinje

    Mr Jinje MDL Expert

    Aug 19, 2009
    1,770
    1,101
    60
    #67 Mr Jinje, Oct 3, 2009
    Last edited by a moderator: Apr 20, 2017
    R2 only is fully Debugged

    I fixed a bunch of errors. Minor typo in one of the services, removed duplicate take ownership of sppsvc.exe. Added taking ownership of all needed file, this fixes the down the road error of dll's not getting rename, in last step. Think I added a missing icacls command or two.

    This batch file is R2 only. Could not determine what errors were real until I removed all the vista junk.

    Code:
    
    SET SYSPATH=%SYSTEMROOT%\System32
    
    sc config sppuinotify start= Demand 
    sc config sppsvc start= Demand
    
    net stop sppuinotify 
    net stop sppsvc
    
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation" /v Schedule /f 
    REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation" /v ActivationInterval /t REG_DWORD /d 00000000 /f 
    REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation" /v NotificationDisabled /t REG_DWORD /d 00000001 /f 
    
    takeown /F "%SYSPATH%\sppsvc.exe" 
    takeown /F "%SYSPATH%\SLUI.exe" 
    takeown /F "%SYSPATH%\sppcc.dll" 
    takeown /F "%SYSPATH%\sppcomapi.dll" 
    takeown /F "%SYSPATH%\sppcommdlg.dll" 
    
    icacls %SYSPATH%\sppcc.dll /grant administrators:F 
    icacls %SYSPATH%\sppcomapi.dll /grant administrators:F 
    icacls %SYSPATH%\sppcommdlg.dll /grant administrators:F 
    
    icacls %SYSPATH%\SLUI.exe /deny SYSTEM:F 
    icacls %SYSPATH%\sppsvc.exe /deny SYSTEM:F 
    
    icacls %SYSPATH%\sppsvc.exe /deny "NETWORK SERVICE":F 
    icacls %SYSPATH%\SLUI.exe /deny "NETWORK SERVICE":F 
    
    ren %SYSPATH%\sppcc.dll sppcc.dll.bak 
    ren %SYSPATH%\sppcomapi.dll sppcomapi.dll.bak
    ren %SYSPATH%\sppcommdlg.dll sppcommdlg.dll.bak
    
    PAUSE
    
    
    Have uninstall + re-install in powershell GUI if any want look at sources.

    R2_Activation_Disabler.ps1
    Code:
    
    
    function R2_Activation_Disabler {
    
    #region Import the Assemblies
    [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
    [reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
    #endregion
    
    #region Generated Form Objects
    $form1 = New-Object System.Windows.Forms.Form
    $button3 = New-Object System.Windows.Forms.Button
    $button2 = New-Object System.Windows.Forms.Button
    $button1 = New-Object System.Windows.Forms.Button
    $InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState
    #endregion Generated Form Objects
    
    #----------------------------------------------
    #Generated Event Script Blocks
    #----------------------------------------------
    
    
    
    $handler_form1_Load= 
    {
    
    
    }
    
    
    
    $handler_button1_Click= 
    {
    
    sc.exe config sppuinotify start= Demand 
    sc.exe config sppsvc start= Demand
    
    net stop sppuinotify 
    net stop sppsvc
    
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation" /v Schedule /f 
    REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation" /v ActivationInterval /t REG_DWORD /d 00000000 /f 
    REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation" /v NotificationDisabled /t REG_DWORD /d 00000001 /f 
    
    takeown /F "C:\Windows\System32\sppsvc.exe" 
    takeown /F "C:\Windows\System32\SLUI.exe" 
    takeown /F "C:\Windows\System32\sppcc.dll" 
    takeown /F "C:\Windows\System32\sppcomapi.dll" 
    takeown /F "C:\Windows\System32\sppcommdlg.dll" 
    
    icacls C:\Windows\System32\sppcc.dll /grant administrators:F 
    icacls C:\Windows\System32\sppcomapi.dll /grant administrators:F 
    icacls C:\Windows\System32\sppcommdlg.dll /grant administrators:F 
    
    icacls C:\Windows\System32\SLUI.exe /deny SYSTEM:F 
    icacls C:\Windows\System32\sppsvc.exe /deny SYSTEM:F 
    
    icacls C:\Windows\System32\sppsvc.exe /deny *s-1-5-20:F
    icacls C:\Windows\System32\SLUI.exe /deny *s-1-5-20:F 
    
    ren C:\Windows\System32\sppcc.dll sppcc.dll.bak 
    ren C:\Windows\System32\sppcomapi.dll sppcomapi.dll.bak
    ren C:\Windows\System32\sppcommdlg.dll sppcommdlg.dll.bak
    
    
    }
    
    $handler_button2_Click= 
    {
    sc.exe config sluinotify start= Demand 
    sc.exe config sppsvc start= auto 
    icacls C:\Windows\System32\SLUI.exe /grant SYSTEM:F
    icacls C:\Windows\System32\sppsvc.exe /grant SYSTEM:F
    icacls C:\Windows\System32\sppsvc.exe /grant *s-1-5-20:F  
    icacls C:\Windows\System32\SLUI.exe /grant *s-1-5-20:F  
    ren C:\Windows\System32\sppcc.dll.bak sppcc.dll 
    ren C:\Windows\System32\sppcomapi.dll.bak sppcomapi.dll 
    ren C:\Windows\System32\sppcommdlg.dll.bak sppcommdlg.dll 
    net start sppsvc 
    
    
    }
    
    $handler_button3_Click= 
    {
    SLMGR.VBS -dli
    
    }
    
    
    
    
    
    $OnLoadForm_StateCorrection=
    {#Correct the initial state of the form to prevent the .Net maximized form issue
    $form1.WindowState = $InitialFormWindowState
    }
    
    #----------------------------------------------
    #region Generated Form Code
    $form1.Text = "R2 Activation Disabler"
    $form1.Name = "form1"
    $form1.DataBindings.DefaultDataSourceUpdateMode = 0
    $System_Drawing_Size = New-Object System.Drawing.Size
    $System_Drawing_Size.Width = 212
    $System_Drawing_Size.Height = 176
    $form1.ClientSize = $System_Drawing_Size
    $form1.add_Load($handler_form1_Load)
    
    $button3.TabIndex = 2
    $button3.Name = "button3"
    $System_Drawing_Size = New-Object System.Drawing.Size
    $System_Drawing_Size.Width = 140
    $System_Drawing_Size.Height = 35
    $button3.Size = $System_Drawing_Size
    $button3.UseVisualStyleBackColor = $True
    
    $button3.Text = "Verify"
    
    $System_Drawing_Point = New-Object System.Drawing.Point
    $System_Drawing_Point.X = 36
    $System_Drawing_Point.Y = 114
    $button3.Location = $System_Drawing_Point
    $button3.DataBindings.DefaultDataSourceUpdateMode = 0
    $button3.add_Click($handler_button3_Click)
    
    $form1.Controls.Add($button3)
    
    $button2.TabIndex = 1
    $button2.Name = "button2"
    $System_Drawing_Size = New-Object System.Drawing.Size
    $System_Drawing_Size.Width = 140
    $System_Drawing_Size.Height = 35
    $button2.Size = $System_Drawing_Size
    $button2.UseVisualStyleBackColor = $True
    
    $button2.Text = "Enable Activation"
    
    $System_Drawing_Point = New-Object System.Drawing.Point
    $System_Drawing_Point.X = 36
    $System_Drawing_Point.Y = 71
    $button2.Location = $System_Drawing_Point
    $button2.DataBindings.DefaultDataSourceUpdateMode = 0
    $button2.add_Click($handler_button2_Click)
    
    $form1.Controls.Add($button2)
    
    $button1.TabIndex = 0
    $button1.Name = "button1"
    $System_Drawing_Size = New-Object System.Drawing.Size
    $System_Drawing_Size.Width = 140
    $System_Drawing_Size.Height = 35
    $button1.Size = $System_Drawing_Size
    $button1.UseVisualStyleBackColor = $True
    
    $button1.Text = "Disable Activation"
    
    $System_Drawing_Point = New-Object System.Drawing.Point
    $System_Drawing_Point.X = 36
    $System_Drawing_Point.Y = 28
    $button1.Location = $System_Drawing_Point
    $button1.DataBindings.DefaultDataSourceUpdateMode = 0
    $button1.add_Click($handler_button1_Click)
    
    $form1.Controls.Add($button1)
    
    #endregion Generated Form Code
    
    #Save the initial state of the form
    $InitialFormWindowState = $form1.WindowState
    #Init the OnLoad event to correct the initial state of the form
    $form1.add_Load($OnLoadForm_StateCorrection)
    #Show the Form
    $form1.ShowDialog()| Out-Null
    
    } #End Function
    
    
    R2_Activation_Disabler
    
    
    
     
  8. relung

    relung MDL Novice

    Aug 12, 2009
    20
    0
    0
    Mr Jinje

    probably PM me & will give it a trial on R2 before formatting the drive
     
  9. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    I know about the icacls errors, but I did not want to change the formula incase making those work broke it or something ;)
     
  10. windows7cy

    windows7cy MDL Junior Member

    Aug 6, 2009
    67
    0
    0
    Hazar why did you put the code to remove the activation reg folder? I think that in timenuker it wasn't needed...
     
  11. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    It does not remove the whole reg folder, it just alters some values to stop the system trying to activate all the time, and deletes the scheduler value to kill the internal timer.
     
  12. windows7cy

    windows7cy MDL Junior Member

    Aug 6, 2009
    67
    0
    0
    and what services are needed to be killed?
     
  13. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    No services are "killed", some files are renamed and denied access so they cannot start. This gives Windows the impression that there has been no tampering, but stops the services. If you outright disable them Windows realizes it is under attack and goes nuts.
     
  14. MrChris

    MrChris MDL Addicted

    Jun 23, 2007
    532
    127
    30
    Sneaky little thing you are! :cool:
     
  15. windows7cy

    windows7cy MDL Junior Member

    Aug 6, 2009
    67
    0
    0
    i think that there are some services that must be disabled to disable activation what are the services that must be disabled?
     
  16. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    again no killing as such, more trickery and deception within the OS ;)
     
  17. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    Haha cheers
     
  18. windows7cy

    windows7cy MDL Junior Member

    Aug 6, 2009
    67
    0
    0
    i think that microsoft can't stop it right?now you will tell me that they can but they have to release an update via windows update every week to cancel this and i think that this way is the best because it doesn't slow the startup :D
     
  19. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    well thing is it is virtuall impossible for MS to stop this as it hijacks the OS!

    It denys the system from accessing or modifying some of its own files, so an update can't patch it!
     
  20. windows7cy

    windows7cy MDL Junior Member

    Aug 6, 2009
    67
    0
    0
    yeah you are right... can i send you a pm?