summaryrefslogtreecommitdiff
path: root/MAS
diff options
context:
space:
mode:
authorWindowsAddict2024-10-28 05:39:59 +0000
committerWindowsAddict2024-10-28 05:39:59 +0000
commit1f0e04519adbe3531d550f2af2f1387e0e0a39d6 (patch)
tree388edb6a2369b7574901193f1513a77fae260406 /MAS
parentd059952ecd10e79626da4630123c57a4f50b9808 (diff)
downloadMicrosoft-Activation-Scripts-1f0e04519adbe3531d550f2af2f1387e0e0a39d6.zip
Add support for UWP Office activation in Online KMS
Diffstat (limited to 'MAS')
-rw-r--r--MAS/All-In-One-Version-KL/MAS_AIO.cmd90
-rw-r--r--MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd25
-rw-r--r--MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd87
3 files changed, 175 insertions, 27 deletions
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