diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 54cf9b6..14af014 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -2116,11 +2116,14 @@ for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\14.0\Common\InstallRoot /v P %nul% reg query %_68%\14.0\CVH /f Click2run /k && set o14c2r=Office 2010 C2R %nul% reg query %_86%\14.0\CVH /f Click2run /k && set o14c2r=Office 2010 C2R -if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.Office.Desktop"" | find /i "Office" %nul1% && set o16uwp=Office UWP +if %winbuild% GEQ 10240 ( +for /f "delims=" %%a in ('%psc% "(Get-AppxPackage -name 'Microsoft.Office.Desktop' | Select-Object -ExpandProperty InstallLocation)" %nul6%') do (if exist "%%a\Integration\Integrator.exe" set o16uwp=Office UWP ) +) if not "%o14msi%%o14c2r%%o16uwp%"=="" ( echo: call :dk_color %Red% "Checking Unsupported Office Install [ %o14msi%%o14c2r%%o16uwp%]" +if not "%o14msi%%o16uwp%"=="" call :dk_color %Blue% "Use Online KMS option to activate it." ) if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.MicrosoftOfficeHub"" | find /i "Office" %nul1% && ( @@ -2550,14 +2553,15 @@ exit /b if not defined _oLPath exit /b +if defined _oIntegrator ( if %oVer%==16 ( "!_oIntegrator!" /I /License PRIDName=%_License%.16 PidKey=%key% %nul% ) else ( "!_oIntegrator!" /I /License PRIDName=%_License% PidKey=%key% %nul% ) - call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 echo "!allapps!" | find /i "!_actid!" %nul1% && exit /b +) :: Fallback to manual method to install licenses incase integrator.exe is not working @@ -2884,6 +2888,23 @@ reg delete "HKLM\SOFTWARE\Policies\Microsoft\Office\%%x.0\Common\Licensing" /f % reg delete "HKLM\SOFTWARE\Policies\Microsoft\Office\%%x.0\Common\Licensing" /f /reg:32 %nul% ) +:: Clear vNext in UWP Office + +if defined o16uwpapplist ( +for %%# in (%_sidlist%) do ( +for /f "skip=2 tokens=2*" %%a in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%%#" /v ProfileImagePath" %nul6%') do ( +rmdir /s /q "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\LocalCache\Local\Microsoft\Office\Licenses\" %nul% +if exist "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" ( +set defname=DEFTEMP-%%# +reg load HKU\!defname! "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" %nul% +reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /f %nul% +reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Identity /f %nul% +reg unload HKU\!defname! %nul% +) +) +) +) + :: Clear SharedComputerLicensing for office :: https://learn.microsoft.com/en-us/deployoffice/overview-shared-computer-activation @@ -4657,18 +4678,14 @@ call :dk_color %Gray% "Checking Ohook [Ohook activation :: Check unsupported office versions set o14c2r= -set o16uwp= - set _68=HKLM\SOFTWARE\Microsoft\Office set _86=HKLM\SOFTWARE\Wow6432Node\Microsoft\Office %nul% reg query %_68%\14.0\CVH /f Click2run /k && set o14c2r=Office 2010 C2R %nul% reg query %_86%\14.0\CVH /f Click2run /k && set o14c2r=Office 2010 C2R -if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.Office.Desktop"" | find /i "Office" %nul1% && set o16uwp=Office UWP - -if not "%o14c2r%%o16uwp%"=="" ( +if not "%o14c2r%"=="" ( echo: -call :dk_color %Red% "Checking Unsupported Office Install [ %o14c2r%%o16uwp%]" +call :dk_color %Red% "Checking Unsupported Office Install [ %o14c2r%]" ) if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.MicrosoftOfficeHub"" | find /i "Office" %nul1% && ( @@ -4681,6 +4698,13 @@ set ohub=1 call :ks_getpath +set o16uwp= +set o16uwp_path= + +if %winbuild% GEQ 10240 ( +for /f "delims=" %%a in ('%psc% "(Get-AppxPackage -name 'Microsoft.Office.Desktop' | Select-Object -ExpandProperty InstallLocation)" %nul6%') do (if exist "%%a\Integration\Integrator.exe" (set o16uwp=1&set "o16uwp_path=%%a")) +) + sc query ClickToRunSvc %nul% set error1=%errorlevel% @@ -4701,10 +4725,10 @@ set o15c2r= set error=1 ) -if "%o16c2r%%o15c2r%%o16msi%%o15msi%%o14msi%"=="" ( +if "%o16uwp%%o16c2r%%o15c2r%%o16msi%%o15msi%%o14msi%"=="" ( set error=1 echo: -if not "%o14c2r%%o16uwp%"=="" ( +if not "%o14c2r%"=="" ( call :dk_color %Red% "Checking Supported Office Install [Not Found]" ) else ( call :dk_color %Red% "Checking Installed Office [Not Found]" @@ -4721,8 +4745,8 @@ goto :ks_activate ) set multioffice= -if not "%o16c2r%%o15c2r%%o16msi%%o15msi%%o14msi%"=="1" set multioffice=1 -if not "%o14c2r%%o16uwp%"=="" set multioffice=1 +if not "%o16uwp%%o16c2r%%o15c2r%%o16msi%%o15msi%%o14msi%"=="1" set multioffice=1 +if not "%o14c2r%"=="" set multioffice=1 if defined multioffice ( echo: @@ -4731,6 +4755,44 @@ call :dk_color %Gray% "Checking Multiple Office Install [Found. Recommend ::======================================================================================================================================== +:: Process Office UWP + +if not defined o16uwp goto :ks_starto15c2r + +call :ks_reset +call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 + +set oVer=16 +set "_oLPath=%o16uwp_path%\Licenses16" +for /f "delims=" %%a in ('%psc% "(Get-AppxPackage -name 'Microsoft.Office.Desktop' | Select-Object -ExpandProperty Dependencies) | Select-Object PackageFullName" %nul6%') do (set "o16uwpapplist=!o16uwpapplist! %%a") + +echo "%o16uwpapplist%" | findstr /i "Access Excel OneNote Outlook PowerPoint Publisher SkypeForBusiness Word" %nul% && set "_oIds=O365HomePremRetail" + +for %%# in (Project Visio) do ( +echo "%o16uwpapplist%" | findstr /i "%%#" %nul% && ( +set _lat= +if exist "%_oLPath%\%%#Pro2024VL*.xrm-ms" set "_oIds= !_oIds! %%#Pro2024Retail " & set _lat=1 +if not defined _lat if exist "%_oLPath%\%%#Pro2021VL*.xrm-ms" set "_oIds= !_oIds! %%#Pro2021Retail " & set _lat=1 +if not defined _lat if exist "%_oLPath%\%%#Pro2019VL*.xrm-ms" set "_oIds= !_oIds! %%#Pro2019Retail " & set _lat=1 +if not defined _lat set "_oIds= !_oIds! %%#ProRetail " +) +) + +set uwpinfo=%o16uwp_path:C:\Program Files\WindowsApps\Microsoft.Office.Desktop_=% + +echo: +echo Processing Office... [UWP ^| %uwpinfo%] + +if not defined _oIds ( +call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]" +set error=1 +goto :ks_starto15c2r +) + +call :ks_process + +::======================================================================================================================================== + :: Process Office 15.0 C2R if not defined o15c2r goto :ks_starto16c2r @@ -4821,7 +4883,7 @@ if defined o16msi call :ks_processmsi 16 %o16msi_reg% echo: call :oh_clearblock -if "%o16msi%%o15msi%"=="" if not "%o16c2r%%o15c2r%"=="" if "%keyerror%"=="0" if %_NoEditionChange%==0 call :oh_uninstkey +if "%o16msi%%o15msi%"=="" if not "%o16uwp%%o16c2r%%o15c2r%"=="" if "%keyerror%"=="0" if %_NoEditionChange%==0 call :oh_uninstkey call :oh_licrefresh ::======================================================================================================================================== @@ -4988,6 +5050,8 @@ exit /b :ks_osppready +if not defined _config exit /b + echo: %_config% | find /i "propertyBag" %nul1% && ( set "_osppt=REG_DWORD" set "_osppready=%o15c2r_reg%" diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index a98d2eb..bf9da1f 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -410,11 +410,14 @@ for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\14.0\Common\InstallRoot /v P %nul% reg query %_68%\14.0\CVH /f Click2run /k && set o14c2r=Office 2010 C2R %nul% reg query %_86%\14.0\CVH /f Click2run /k && set o14c2r=Office 2010 C2R -if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.Office.Desktop"" | find /i "Office" %nul1% && set o16uwp=Office UWP +if %winbuild% GEQ 10240 ( +for /f "delims=" %%a in ('%psc% "(Get-AppxPackage -name 'Microsoft.Office.Desktop' | Select-Object -ExpandProperty InstallLocation)" %nul6%') do (if exist "%%a\Integration\Integrator.exe" set o16uwp=Office UWP ) +) if not "%o14msi%%o14c2r%%o16uwp%"=="" ( echo: call :dk_color %Red% "Checking Unsupported Office Install [ %o14msi%%o14c2r%%o16uwp%]" +if not "%o14msi%%o16uwp%"=="" call :dk_color %Blue% "Use Online KMS option to activate it." ) if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.MicrosoftOfficeHub"" | find /i "Office" %nul1% && ( @@ -844,14 +847,15 @@ exit /b if not defined _oLPath exit /b +if defined _oIntegrator ( if %oVer%==16 ( "!_oIntegrator!" /I /License PRIDName=%_License%.16 PidKey=%key% %nul% ) else ( "!_oIntegrator!" /I /License PRIDName=%_License% PidKey=%key% %nul% ) - call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 echo "!allapps!" | find /i "!_actid!" %nul1% && exit /b +) :: Fallback to manual method to install licenses incase integrator.exe is not working @@ -1178,6 +1182,23 @@ reg delete "HKLM\SOFTWARE\Policies\Microsoft\Office\%%x.0\Common\Licensing" /f % reg delete "HKLM\SOFTWARE\Policies\Microsoft\Office\%%x.0\Common\Licensing" /f /reg:32 %nul% ) +:: Clear vNext in UWP Office + +if defined o16uwpapplist ( +for %%# in (%_sidlist%) do ( +for /f "skip=2 tokens=2*" %%a in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%%#" /v ProfileImagePath" %nul6%') do ( +rmdir /s /q "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\LocalCache\Local\Microsoft\Office\Licenses\" %nul% +if exist "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" ( +set defname=DEFTEMP-%%# +reg load HKU\!defname! "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" %nul% +reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /f %nul% +reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Identity /f %nul% +reg unload HKU\!defname! %nul% +) +) +) +) + :: Clear SharedComputerLicensing for office :: https://learn.microsoft.com/en-us/deployoffice/overview-shared-computer-activation diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 309cc55..23da821 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -627,18 +627,14 @@ call :dk_color %Gray% "Checking Ohook [Ohook activation :: Check unsupported office versions set o14c2r= -set o16uwp= - set _68=HKLM\SOFTWARE\Microsoft\Office set _86=HKLM\SOFTWARE\Wow6432Node\Microsoft\Office %nul% reg query %_68%\14.0\CVH /f Click2run /k && set o14c2r=Office 2010 C2R %nul% reg query %_86%\14.0\CVH /f Click2run /k && set o14c2r=Office 2010 C2R -if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.Office.Desktop"" | find /i "Office" %nul1% && set o16uwp=Office UWP - -if not "%o14c2r%%o16uwp%"=="" ( +if not "%o14c2r%"=="" ( echo: -call :dk_color %Red% "Checking Unsupported Office Install [ %o14c2r%%o16uwp%]" +call :dk_color %Red% "Checking Unsupported Office Install [ %o14c2r%]" ) if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.MicrosoftOfficeHub"" | find /i "Office" %nul1% && ( @@ -651,6 +647,13 @@ set ohub=1 call :ks_getpath +set o16uwp= +set o16uwp_path= + +if %winbuild% GEQ 10240 ( +for /f "delims=" %%a in ('%psc% "(Get-AppxPackage -name 'Microsoft.Office.Desktop' | Select-Object -ExpandProperty InstallLocation)" %nul6%') do (if exist "%%a\Integration\Integrator.exe" (set o16uwp=1&set "o16uwp_path=%%a")) +) + sc query ClickToRunSvc %nul% set error1=%errorlevel% @@ -671,10 +674,10 @@ set o15c2r= set error=1 ) -if "%o16c2r%%o15c2r%%o16msi%%o15msi%%o14msi%"=="" ( +if "%o16uwp%%o16c2r%%o15c2r%%o16msi%%o15msi%%o14msi%"=="" ( set error=1 echo: -if not "%o14c2r%%o16uwp%"=="" ( +if not "%o14c2r%"=="" ( call :dk_color %Red% "Checking Supported Office Install [Not Found]" ) else ( call :dk_color %Red% "Checking Installed Office [Not Found]" @@ -691,8 +694,8 @@ goto :ks_activate ) set multioffice= -if not "%o16c2r%%o15c2r%%o16msi%%o15msi%%o14msi%"=="1" set multioffice=1 -if not "%o14c2r%%o16uwp%"=="" set multioffice=1 +if not "%o16uwp%%o16c2r%%o15c2r%%o16msi%%o15msi%%o14msi%"=="1" set multioffice=1 +if not "%o14c2r%"=="" set multioffice=1 if defined multioffice ( echo: @@ -701,6 +704,46 @@ call :dk_color %Gray% "Checking Multiple Office Install [Found. Recommend ::======================================================================================================================================== +:: Process Office UWP + +if not defined o16uwp goto :ks_starto15c2r + +call :ks_reset +call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 + +set oVer=16 +set "_oLPath=%o16uwp_path%\Licenses16" +for /f "delims=" %%a in ('%psc% "(Get-AppxPackage -name 'Microsoft.Office.Desktop' | Select-Object -ExpandProperty Dependencies) | Select-Object PackageFullName" %nul6%') do (set "o16uwpapplist=!o16uwpapplist! %%a") + +echo "%o16uwpapplist%" | findstr /i "Access Excel OneNote Outlook PowerPoint Publisher SkypeForBusiness Word" %nul% && set "_oIds=O365HomePremRetail" + +for %%# in (Project Visio) do ( +echo "%o16uwpapplist%" | findstr /i "%%#" %nul% && ( +set _lat= +if exist "%_oLPath%\%%#Pro2024VL*.xrm-ms" set "_oIds= !_oIds! %%#Pro2024Retail " & set _lat=1 +if not defined _lat if exist "%_oLPath%\%%#Pro2021VL*.xrm-ms" set "_oIds= !_oIds! %%#Pro2021Retail " & set _lat=1 +if not defined _lat if exist "%_oLPath%\%%#Pro2019VL*.xrm-ms" set "_oIds= !_oIds! %%#Pro2019Retail " & set _lat=1 +if not defined _lat set "_oIds= !_oIds! %%#ProRetail " +) +) + +set uwpinfo=%o16uwp_path:C:\Program Files\WindowsApps\Microsoft.Office.Desktop_=% + +echo: +echo Processing Office... [UWP ^| %uwpinfo%] + +if not defined _oIds ( +call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]" +set error=1 +goto :ks_starto15c2r +) + +call :ks_process + +::======================================================================================================================================== + +:ks_starto15c2r + :: Process Office 15.0 C2R if not defined o15c2r goto :ks_starto16c2r @@ -791,7 +834,7 @@ if defined o16msi call :ks_processmsi 16 %o16msi_reg% echo: call :oh_clearblock -if "%o16msi%%o15msi%"=="" if not "%o16c2r%%o15c2r%"=="" if "%keyerror%"=="0" if %_NoEditionChange%==0 call :oh_uninstkey +if "%o16msi%%o15msi%"=="" if not "%o16uwp%%o16c2r%%o15c2r%"=="" if "%keyerror%"=="0" if %_NoEditionChange%==0 call :oh_uninstkey call :oh_licrefresh ::======================================================================================================================================== @@ -990,6 +1033,8 @@ exit /b :ks_osppready +if not defined _config exit /b + echo: %_config% | find /i "propertyBag" %nul1% && ( set "_osppt=REG_DWORD" set "_osppready=%o15c2r_reg%" @@ -1156,14 +1201,15 @@ exit /b if not defined _oLPath exit /b +if defined _oIntegrator ( if %oVer%==16 ( "!_oIntegrator!" /I /License PRIDName=%_License%.16 PidKey=%key% %nul% ) else ( "!_oIntegrator!" /I /License PRIDName=%_License% PidKey=%key% %nul% ) - call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 echo "!allapps!" | find /i "!_actid!" %nul1% && exit /b +) :: Fallback to manual method to install licenses incase integrator.exe is not working @@ -1274,6 +1320,23 @@ reg delete "HKLM\SOFTWARE\Policies\Microsoft\Office\%%x.0\Common\Licensing" /f % reg delete "HKLM\SOFTWARE\Policies\Microsoft\Office\%%x.0\Common\Licensing" /f /reg:32 %nul% ) +:: Clear vNext in UWP Office + +if defined o16uwpapplist ( +for %%# in (%_sidlist%) do ( +for /f "skip=2 tokens=2*" %%a in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%%#" /v ProfileImagePath" %nul6%') do ( +rmdir /s /q "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\LocalCache\Local\Microsoft\Office\Licenses\" %nul% +if exist "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" ( +set defname=DEFTEMP-%%# +reg load HKU\!defname! "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" %nul% +reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /f %nul% +reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Identity /f %nul% +reg unload HKU\!defname! %nul% +) +) +) +) + :: Clear SharedComputerLicensing for office :: https://learn.microsoft.com/en-us/deployoffice/overview-shared-computer-activation