Compare commits

...

2 Commits

4 changed files with 62 additions and 120 deletions

View File

@ -2608,7 +2608,6 @@ set _prids=
set _config= set _config=
set _version= set _version=
set _License= set _License=
set _oBranding=
exit /b exit /b
::======================================================================================================================================== ::========================================================================================================================================
@ -2862,20 +2861,11 @@ set "_common=%CommonProgramFiles%"
if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%" if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%"
set "_common2=%CommonProgramFiles(x86)%" set "_common2=%CommonProgramFiles(x86)%"
for /r "%_common%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
if not defined _oBranding for /r "%_common2%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
call :msiofficedata %2 call :msiofficedata %2
echo: echo:
echo Activating Office... [MSI ^| %_version% ^| %_oArch%] echo Activating Office... [MSI ^| %_version% ^| %_oArch%]
if not defined _oBranding (
set error=1
call :dk_color %Red% "Checking BRANDING.XML [Not Found, aborting activation...]"
exit /b
)
if not defined _oIds ( if not defined _oIds (
set error=1 set error=1
call :dk_color %Red% "Checking Installed Products [Product IDs not found, aborting activation...]" call :dk_color %Red% "Checking Installed Products [Product IDs not found, aborting activation...]"
@ -4790,7 +4780,6 @@ set _prids=
set _config= set _config=
set _version= set _version=
set _License= set _License=
set _oBranding=
exit /b exit /b
::======================================================================================================================================== ::========================================================================================================================================
@ -4910,9 +4899,6 @@ set "_common=%CommonProgramFiles%"
if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%" if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%"
set "_common2=%CommonProgramFiles(x86)%" set "_common2=%CommonProgramFiles(x86)%"
for /r "%_common%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
if not defined _oBranding for /r "%_common2%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
if exist "%_common%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" ( if exist "%_common%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" (
set "pkeypath=%_common%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" set "pkeypath=%_common%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms"
) else if exist "%_common2%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" ( ) else if exist "%_common2%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" (
@ -4924,12 +4910,6 @@ call :msiofficedata %2
echo: echo:
echo Processing Office... [MSI ^| %_version% ^| %_oArch%] echo Processing Office... [MSI ^| %_version% ^| %_oArch%]
if not defined _oBranding (
set error=1
call :dk_color %Red% "Checking BRANDING.XML [Not Found. Aborting activation...]"
exit /b
)
if not defined _oIds ( if not defined _oIds (
set error=1 set error=1
call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]" call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]"
@ -8874,6 +8854,24 @@ function Get-WmiInfo {
} }
} }
function slGetSkuInfo($SkuId) {
$t = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1).DefineDynamicModule(2, $False).DefineType(0)
$t.DefinePInvokeMethod('SLOpen', 'slc.dll', 22, 1, [Int32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128)
$t.DefinePInvokeMethod('SLClose', 'slc.dll', 22, 1, [IntPtr], @([IntPtr]), 1, 3).SetImplementationFlags(128)
$t.DefinePInvokeMethod('SLGetProductSkuInformation', 'slc.dll', 22, 1, [Int32], @([IntPtr], [Guid].MakeByRefType(), [String], [UInt32].MakeByRefType(), [UInt32].MakeByRefType(), [IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128)
$w = $t.CreateType()
$hSLC = 0
try {
[void]$w::SLOpen([ref]$hSLC)
$c = 0; $b = 0
$r = $w::SLGetProductSkuInformation($hSLC, [ref][Guid]$SkuId, "msft:sl/EUL/PHONE/PUBLIC", [ref]$null, [ref]$c, [ref]$b)
return ($r -eq 0)
}
finally {
[void]$w::SLClose($hSLC)
}
}
if ($env:resetstuff -eq $null) { if ($env:resetstuff -eq $null) {
foreach ($tsactid in $tsactids) { foreach ($tsactid in $tsactids) {
try { try {
@ -8884,6 +8882,13 @@ if ($env:resetstuff -eq $null) {
$prodName = if ($nameParts.Count -gt 1) { ($nameParts[1].Trim() -split '[ ,]')[0] } else { $null } $prodName = if ($nameParts.Count -gt 1) { ($nameParts[1].Trim() -split '[ ,]')[0] } else { $null }
} }
[LibTSforge.Modifiers.GenPKeyInstall]::InstallGenPKey($ver, $prod, $tsactid) [LibTSforge.Modifiers.GenPKeyInstall]::InstallGenPKey($ver, $prod, $tsactid)
if ($prodName -match 'Office' -and -not (slGetSkuInfo($tsactid))) {
$licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus"
if ($licenseStatus -eq 1) {
Write-Host "[$prodName] is already permanently activated." -ForegroundColor White -BackgroundColor DarkGreen
continue
}
}
[LibTSforge.Activators.ZeroCID]::Activate($ver, $prod, $tsactid) [LibTSforge.Activators.ZeroCID]::Activate($ver, $prod, $tsactid)
$licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus"
if ($licenseStatus -eq 1) { if ($licenseStatus -eq 1) {
@ -10926,7 +10931,7 @@ set _prids=
set _config= set _config=
set _version= set _version=
set _License= set _License=
set _oBranding= set _oMSI=
exit /b exit /b
::======================================================================================================================================== ::========================================================================================================================================
@ -11008,7 +11013,7 @@ exit /b
for %%# in (%_oIds%) do ( for %%# in (%_oIds%) do (
set skipprocess= set skipprocess=
if %_NoEditionChange%==1 if not defined _oBranding ( if %_NoEditionChange%==1 if not defined _oMSI (
set foundprod= set foundprod=
call :ksdata chkprod %%# call :ksdata chkprod %%#
if not defined foundprod ( if not defined foundprod (
@ -11057,7 +11062,7 @@ if not "!key!"=="" (
echo "!allapps!" | find /i "!_actid!" %nul1% || call :oh_installlic echo "!allapps!" | find /i "!_actid!" %nul1% || call :oh_installlic
call :dk_inskey "[!key!] [!_prod!]" call :dk_inskey "[!key!] [!_prod!]"
) else ( ) else (
if not defined _oBranding ( if not defined _oMSI (
set error=1 set error=1
call :dk_color %Red% "Checking Product In Script [Office %oVer%.0 !_prod! not found in script]" call :dk_color %Red% "Checking Product In Script [Office %oVer%.0 !_prod! not found in script]"
call :dk_color %Blue% "Make sure you are using Latest MAS script." call :dk_color %Blue% "Make sure you are using Latest MAS script."
@ -11080,6 +11085,7 @@ exit /b
:: Process Office MSI Version :: Process Office MSI Version
call :ks_reset call :ks_reset
set _oMSI=1
if "%1"=="14" ( if "%1"=="14" (
call :dk_actids 59a52881-a989-479d-af46-f275c6370663 call :dk_actids 59a52881-a989-479d-af46-f275c6370663
@ -11100,21 +11106,11 @@ set "_common=%CommonProgramFiles%"
if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%" if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%"
set "_common2=%CommonProgramFiles(x86)%" set "_common2=%CommonProgramFiles(x86)%"
for /r "%_common%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f" call :msiofficedata %2
if not defined _oBranding for /r "%_common2%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
call :ksdata getmsiprod %2
call :msiofficedata %2 getmsiret
echo: echo:
echo Processing Office... [MSI ^| %_version% ^| %_oArch%] echo Processing Office... [MSI ^| %_version% ^| %_oArch%]
if not defined _oBranding (
set error=1
call :dk_color %Red% "Checking BRANDING.XML [Not Found. Aborting activation...]"
exit /b
)
if not defined _oIds ( if not defined _oIds (
set error=1 set error=1
call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]" call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]"
@ -12134,18 +12130,13 @@ for %%# in (
) do ( ) do (
for /f "tokens=1-5 delims=_" %%A in ("%%#") do ( for /f "tokens=1-5 delims=_" %%A in ("%%#") do (
set getIds=1
if "%oVer%"=="%%A" ( if "%oVer%"=="%%A" (
if /i "%2"=="getmsiret" (echo %%D | findstr /i "Volume VL" %nul% && set getIds=)
if defined getIds (
reg query "%1\Registration\{%%B}" /v ProductCode %nul2% | find /i "-%%C-" %nul% && ( reg query "%1\Registration\{%%B}" /v ProductCode %nul2% | find /i "-%%C-" %nul% && (
reg query "%1\Common\InstalledPackages" %nul2% | find /i "-%%C-" %nul% && ( reg query "%1\Common\InstalledPackages" %nul2% | find /i "-%%C-" %nul% && (
if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D) if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D)
) )
) )
) )
)
) )
) )
@ -12418,7 +12409,7 @@ if /i "%2"=="%%D" (
set key=%%B set key=%%B
set _actid=%%A set _actid=%%A
set _allactid=!_allactid! %%A set _allactid=!_allactid! %%A
) else if not defined _oBranding if %_NoEditionChange%==0 ( ) else if not defined _oMSI if %_NoEditionChange%==0 (
echo: %%E | find /i "-%2-" %nul% && ( echo: %%E | find /i "-%2-" %nul% && (
set key=%%B set key=%%B
set _altoffid=%%D set _altoffid=%%D
@ -12428,21 +12419,6 @@ set _allactid=!_allactid! %%A
) )
) )
if %1==getmsiprod if "%oVer%"=="%%C" (
for /f "tokens=*" %%x in ('findstr /i /c:"%%A" "%_oBranding%"') do set "prodId=%%x"
set prodId=!prodId:"/>=!
set prodId=!prodId:~-4!
if "%oVer%"=="14" (
REM Exception case for Visio because wrong primary product ID is mentioned in Branding.xml
echo %%D | find /i "Visio" %nul% && set prodId=0057
)
reg query "%2\Registration\{%%A}" /v ProductCode %nul2% | find /i "-!prodId!-" %nul% && (
reg query "%2\Common\InstalledPackages" %nul2% | find /i "-!prodId!-" %nul% && (
if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D)
)
)
)
) )
) )
exit /b exit /b

View File

@ -823,7 +823,6 @@ set _prids=
set _config= set _config=
set _version= set _version=
set _License= set _License=
set _oBranding=
exit /b exit /b
::======================================================================================================================================== ::========================================================================================================================================
@ -1077,20 +1076,11 @@ set "_common=%CommonProgramFiles%"
if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%" if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%"
set "_common2=%CommonProgramFiles(x86)%" set "_common2=%CommonProgramFiles(x86)%"
for /r "%_common%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
if not defined _oBranding for /r "%_common2%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
call :msiofficedata %2 call :msiofficedata %2
echo: echo:
echo Activating Office... [MSI ^| %_version% ^| %_oArch%] echo Activating Office... [MSI ^| %_version% ^| %_oArch%]
if not defined _oBranding (
set error=1
call :dk_color %Red% "Checking BRANDING.XML [Not Found, aborting activation...]"
exit /b
)
if not defined _oIds ( if not defined _oIds (
set error=1 set error=1
call :dk_color %Red% "Checking Installed Products [Product IDs not found, aborting activation...]" call :dk_color %Red% "Checking Installed Products [Product IDs not found, aborting activation...]"
@ -2475,18 +2465,13 @@ for %%# in (
) do ( ) do (
for /f "tokens=1-5 delims=_" %%A in ("%%#") do ( for /f "tokens=1-5 delims=_" %%A in ("%%#") do (
set getIds=1
if "%oVer%"=="%%A" ( if "%oVer%"=="%%A" (
if /i "%2"=="getmsiret" (echo %%D | findstr /i "Volume VL" %nul% && set getIds=)
if defined getIds (
reg query "%1\Registration\{%%B}" /v ProductCode %nul2% | find /i "-%%C-" %nul% && ( reg query "%1\Registration\{%%B}" /v ProductCode %nul2% | find /i "-%%C-" %nul% && (
reg query "%1\Common\InstalledPackages" %nul2% | find /i "-%%C-" %nul% && ( reg query "%1\Common\InstalledPackages" %nul2% | find /i "-%%C-" %nul% && (
if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D) if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D)
) )
) )
) )
)
) )
) )

View File

@ -1029,7 +1029,7 @@ set _prids=
set _config= set _config=
set _version= set _version=
set _License= set _License=
set _oBranding= set _oMSI=
exit /b exit /b
::======================================================================================================================================== ::========================================================================================================================================
@ -1143,7 +1143,7 @@ exit /b
for %%# in (%_oIds%) do ( for %%# in (%_oIds%) do (
set skipprocess= set skipprocess=
if %_NoEditionChange%==1 if not defined _oBranding ( if %_NoEditionChange%==1 if not defined _oMSI (
set foundprod= set foundprod=
call :ksdata chkprod %%# call :ksdata chkprod %%#
if not defined foundprod ( if not defined foundprod (
@ -1192,7 +1192,7 @@ if not "!key!"=="" (
echo "!allapps!" | find /i "!_actid!" %nul1% || call :oh_installlic echo "!allapps!" | find /i "!_actid!" %nul1% || call :oh_installlic
call :dk_inskey "[!key!] [!_prod!]" call :dk_inskey "[!key!] [!_prod!]"
) else ( ) else (
if not defined _oBranding ( if not defined _oMSI (
set error=1 set error=1
call :dk_color %Red% "Checking Product In Script [Office %oVer%.0 !_prod! not found in script]" call :dk_color %Red% "Checking Product In Script [Office %oVer%.0 !_prod! not found in script]"
call :dk_color %Blue% "Make sure you are using Latest MAS script." call :dk_color %Blue% "Make sure you are using Latest MAS script."
@ -1215,6 +1215,7 @@ exit /b
:: Process Office MSI Version :: Process Office MSI Version
call :ks_reset call :ks_reset
set _oMSI=1
if "%1"=="14" ( if "%1"=="14" (
call :dk_actids 59a52881-a989-479d-af46-f275c6370663 call :dk_actids 59a52881-a989-479d-af46-f275c6370663
@ -1235,21 +1236,11 @@ set "_common=%CommonProgramFiles%"
if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%" if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%"
set "_common2=%CommonProgramFiles(x86)%" set "_common2=%CommonProgramFiles(x86)%"
for /r "%_common%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f" call :msiofficedata %2
if not defined _oBranding for /r "%_common2%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
call :ksdata getmsiprod %2
call :msiofficedata %2 getmsiret
echo: echo:
echo Processing Office... [MSI ^| %_version% ^| %_oArch%] echo Processing Office... [MSI ^| %_version% ^| %_oArch%]
if not defined _oBranding (
set error=1
call :dk_color %Red% "Checking BRANDING.XML [Not Found. Aborting activation...]"
exit /b
)
if not defined _oIds ( if not defined _oIds (
set error=1 set error=1
call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]" call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]"
@ -3450,18 +3441,13 @@ for %%# in (
) do ( ) do (
for /f "tokens=1-5 delims=_" %%A in ("%%#") do ( for /f "tokens=1-5 delims=_" %%A in ("%%#") do (
set getIds=1
if "%oVer%"=="%%A" ( if "%oVer%"=="%%A" (
if /i "%2"=="getmsiret" (echo %%D | findstr /i "Volume VL" %nul% && set getIds=)
if defined getIds (
reg query "%1\Registration\{%%B}" /v ProductCode %nul2% | find /i "-%%C-" %nul% && ( reg query "%1\Registration\{%%B}" /v ProductCode %nul2% | find /i "-%%C-" %nul% && (
reg query "%1\Common\InstalledPackages" %nul2% | find /i "-%%C-" %nul% && ( reg query "%1\Common\InstalledPackages" %nul2% | find /i "-%%C-" %nul% && (
if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D) if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D)
) )
) )
) )
)
) )
) )
@ -3734,7 +3720,7 @@ if /i "%2"=="%%D" (
set key=%%B set key=%%B
set _actid=%%A set _actid=%%A
set _allactid=!_allactid! %%A set _allactid=!_allactid! %%A
) else if not defined _oBranding if %_NoEditionChange%==0 ( ) else if not defined _oMSI if %_NoEditionChange%==0 (
echo: %%E | find /i "-%2-" %nul% && ( echo: %%E | find /i "-%2-" %nul% && (
set key=%%B set key=%%B
set _altoffid=%%D set _altoffid=%%D
@ -3744,21 +3730,6 @@ set _allactid=!_allactid! %%A
) )
) )
if %1==getmsiprod if "%oVer%"=="%%C" (
for /f "tokens=*" %%x in ('findstr /i /c:"%%A" "%_oBranding%"') do set "prodId=%%x"
set prodId=!prodId:"/>=!
set prodId=!prodId:~-4!
if "%oVer%"=="14" (
REM Exception case for Visio because wrong primary product ID is mentioned in Branding.xml
echo %%D | find /i "Visio" %nul% && set prodId=0057
)
reg query "%2\Registration\{%%A}" /v ProductCode %nul2% | find /i "-!prodId!-" %nul% && (
reg query "%2\Common\InstalledPackages" %nul2% | find /i "-!prodId!-" %nul% && (
if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D)
)
)
)
) )
) )
exit /b exit /b

View File

@ -1499,7 +1499,6 @@ set _prids=
set _config= set _config=
set _version= set _version=
set _License= set _License=
set _oBranding=
exit /b exit /b
::======================================================================================================================================== ::========================================================================================================================================
@ -1679,9 +1678,6 @@ set "_common=%CommonProgramFiles%"
if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%" if defined PROCESSOR_ARCHITEW6432 set "_common=%CommonProgramW6432%"
set "_common2=%CommonProgramFiles(x86)%" set "_common2=%CommonProgramFiles(x86)%"
for /r "%_common%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
if not defined _oBranding for /r "%_common2%\Microsoft Shared\OFFICE%oVer%\" %%f in (BRANDING.XML) do if exist "%%f" set "_oBranding=%%f"
if exist "%_common%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" ( if exist "%_common%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" (
set "pkeypath=%_common%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" set "pkeypath=%_common%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms"
) else if exist "%_common2%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" ( ) else if exist "%_common2%\Microsoft Shared\OFFICE%oVer%\Office Setup Controller\pkeyconfig-office.xrm-ms" (
@ -1693,12 +1689,6 @@ call :msiofficedata %2
echo: echo:
echo Processing Office... [MSI ^| %_version% ^| %_oArch%] echo Processing Office... [MSI ^| %_version% ^| %_oArch%]
if not defined _oBranding (
set error=1
call :dk_color %Red% "Checking BRANDING.XML [Not Found. Aborting activation...]"
exit /b
)
if not defined _oIds ( if not defined _oIds (
set error=1 set error=1
call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]" call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]"
@ -6747,6 +6737,24 @@ function Get-WmiInfo {
} }
} }
function slGetSkuInfo($SkuId) {
$t = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1).DefineDynamicModule(2, $False).DefineType(0)
$t.DefinePInvokeMethod('SLOpen', 'slc.dll', 22, 1, [Int32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128)
$t.DefinePInvokeMethod('SLClose', 'slc.dll', 22, 1, [IntPtr], @([IntPtr]), 1, 3).SetImplementationFlags(128)
$t.DefinePInvokeMethod('SLGetProductSkuInformation', 'slc.dll', 22, 1, [Int32], @([IntPtr], [Guid].MakeByRefType(), [String], [UInt32].MakeByRefType(), [UInt32].MakeByRefType(), [IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128)
$w = $t.CreateType()
$hSLC = 0
try {
[void]$w::SLOpen([ref]$hSLC)
$c = 0; $b = 0
$r = $w::SLGetProductSkuInformation($hSLC, [ref][Guid]$SkuId, "msft:sl/EUL/PHONE/PUBLIC", [ref]$null, [ref]$c, [ref]$b)
return ($r -eq 0)
}
finally {
[void]$w::SLClose($hSLC)
}
}
if ($env:resetstuff -eq $null) { if ($env:resetstuff -eq $null) {
foreach ($tsactid in $tsactids) { foreach ($tsactid in $tsactids) {
try { try {
@ -6757,6 +6765,13 @@ if ($env:resetstuff -eq $null) {
$prodName = if ($nameParts.Count -gt 1) { ($nameParts[1].Trim() -split '[ ,]')[0] } else { $null } $prodName = if ($nameParts.Count -gt 1) { ($nameParts[1].Trim() -split '[ ,]')[0] } else { $null }
} }
[LibTSforge.Modifiers.GenPKeyInstall]::InstallGenPKey($ver, $prod, $tsactid) [LibTSforge.Modifiers.GenPKeyInstall]::InstallGenPKey($ver, $prod, $tsactid)
if ($prodName -match 'Office' -and -not (slGetSkuInfo($tsactid))) {
$licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus"
if ($licenseStatus -eq 1) {
Write-Host "[$prodName] is already permanently activated." -ForegroundColor White -BackgroundColor DarkGreen
continue
}
}
[LibTSforge.Activators.ZeroCID]::Activate($ver, $prod, $tsactid) [LibTSforge.Activators.ZeroCID]::Activate($ver, $prod, $tsactid)
$licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus"
if ($licenseStatus -eq 1) { if ($licenseStatus -eq 1) {
@ -7170,18 +7185,13 @@ for %%# in (
) do ( ) do (
for /f "tokens=1-5 delims=_" %%A in ("%%#") do ( for /f "tokens=1-5 delims=_" %%A in ("%%#") do (
set getIds=1
if "%oVer%"=="%%A" ( if "%oVer%"=="%%A" (
if /i "%2"=="getmsiret" (echo %%D | findstr /i "Volume VL" %nul% && set getIds=)
if defined getIds (
reg query "%1\Registration\{%%B}" /v ProductCode %nul2% | find /i "-%%C-" %nul% && ( reg query "%1\Registration\{%%B}" /v ProductCode %nul2% | find /i "-%%C-" %nul% && (
reg query "%1\Common\InstalledPackages" %nul2% | find /i "-%%C-" %nul% && ( reg query "%1\Common\InstalledPackages" %nul2% | find /i "-%%C-" %nul% && (
if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D) if defined _oIds (set _oIds=!_oIds! %%D) else (set _oIds=%%D)
) )
) )
) )
)
) )
) )