This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Chia sẻ Test code convert Office 2019 Volume sang Retail thành công!

Hoang Duch2

Rồng Đỏ
Sao mà kết quả nó ra khác nhau, trên MsAct thì nó báo thành công, nhưng bên CMD thì nó báo error cho key Volume.

Tôi nói lại trình tự mình đã làm như sau:
1/- Làm theo bài viết là key retail
2/- Chạy code của bạn haibmh và điền key trực tiếp không thành công
3/- Chạy code chuyển sang Volume của Đông Phương, điền key trực tiếp không thành công, chuyển sang MsAct thì key còn by phone, get CID với webact thì có CID, điền vào CMD thì lỗi key, điền vào MsAct thì báo thành công.

Vậy hiện tại vẫn là Retail chứ không phải Volume?

Hình từ CMD:





 

haibmh

Quyền Trượng Hồng Ngọc
Theo ý kiến cá nhân em thì cài đặt bằng file ISO do chính MS đưa ra,sau đó dùng CMD để nạp SKU VL là cẩn thận và chắc chắn nhất.Key thì sẽ nhận cả Retail lẫn VL bác ạ.
 

Hoang Duch2

Rồng Đỏ

Cảm ơn bạn nha, ngày mai có thời gian tôi sẽ test lại, bây giờ bên tôi đã tới giờ nghỉ rồi. Tôi xin chào tất cả các bạn, chúc các bạn sinh hoạt vui vẻ nhé.
 

hcvnd

Rìu Chiến Chấm
Code của bác Hải là tốt đấy bác ah, cháu vừa test lại trên bản C2R và kết quả đây ạ.
 

qka9999

Đi một ngày đàng, học một sàng khôn.
Key bác @Hoang Duch2 sử dụng hình như là của bạn @QuangDat chia sẻ thì phải. Nó là key duy nhất từng xuất hiện tại đây.
 

haibmh

Quyền Trượng Hồng Ngọc
Vâng bác,nó cứ báo LICENSED là thành công rồi.Sau cẩn thận khi cài lại cứ ad key bằng MSAct thì khả năng hỏng là rất thấp bác ạ.
 

Hoang Duch2

Rồng Đỏ
Key bác @Hoang Duch2 sử dụng hình như là của bạn @QuangDat chia sẻ thì phải. Nó là key duy nhất từng xuất hiện tại đây.

À Bác sơ ý lúc lưu key không kèm tên người gửi nên không nhớ chính xác là của ai cháu à, không biết có phải là cái ngày mà bạn @QuangDat nói là ngày đặc biệt gì đó không?

P/s: Bác tìm ra rồi, đúng là của cháu Đạt đó.
 

haibmh

Quyền Trượng Hồng Ngọc
Ai share ra đầu tiên thì em ko biết,chỉ biết em copy bên CN về đây đầu tiên,Còn giờ nó ở khắp thế giới này rồi bác ạ
 

Hoang Duch2

Rồng Đỏ
Ai share ra đầu tiên thì em ko biết,chỉ biết em copy bên CN về đây đầu tiên,Còn giờ nó ở khắp thế giới này rồi bác ạ

Bạn có nguyên một warehouse key, nghĩa là cả một kho hàng, tôi đã từng nghe các bạn khác nói là đã được bạn cho xem qua và không thể tưởng tượng nổi, tôi nhiều lúc chép lại thì không ghi tên người gửi, lúc có lúc không và kèm theo trí nhớ kém nên có lúc nhầm lẫn, mong bạn không phiền tôi nhé.
 

maiphuong

Rìu Bạc Đôi
Sorry cả nhà đến giờ mới công tác về.Thấy gạch đá nên tạ lỗi cùng các bạn
Tôi cài bản chuẩn Office 2019 sau khi chạy code này trên cmd nó kích hoạt KMS(dùng lệnh gỡ key rồi nhập key VL hay Re là ra bản đó)
@echo off
set _Debug=0
%windir%\system32\reg.exe query "HKU\S-1-5-19" >nul 2>&1 || (
set "msg=Chuot phai 'Run as administrator'"
goto :end
)
if %_Debug% EQU 0 (
set "_Nul_1=1>nul"
set "_Nul_2=2>nul"
set "_Nul_2e=2^>nul"
set "_Nul_1_2=1>nul 2>nul"
call :Begin
) else (
set "_Nul_1="
set "_Nul_2="
set "_Nul_2e="
set "_Nul_1_2="
echo.
echo Dang chay trong che do go loi...
echo Cua so se bi dong khi hoan tat
@echo on
@prompt $G
@call :Begin >"%~dpn0.tmp" 2>&1 &cmd /u /c type "%~dpn0.tmp">"%~dpn0_Debug.log"&del "%~dpn0.tmp"
)
exit

:Begin
::color F0
title CONVERT OFFICE 2019 Retail2Volume
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
if /i "%PROCESSOR_ARCHITECTURE%" equ "AMD64" (set arch=x64) else (set arch=x86)
set "_SLMGR=%SystemRoot%\System32\slmgr.vbs"

if %winbuild% LSS 7601 (
set "msg=Loi"
goto :end
)
sc query ClickToRunSvc %_Nul_1_2%
set error1=%errorlevel%
sc query OfficeSvc %_Nul_1_2%
set error2=%errorlevel%
if %error1% equ 1060 if %error2% equ 1060 (
set "msg=Khong co serrvice Office ClickToRun..."
goto :end
)

set _Office16=0
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul_2e%') do if exist "%%b\Office16\OSPP.VBS" (
set _Office16=1&set "_OSPP=%%b\Office16\OSPP.VBS"
)
if exist "%ProgramFiles%\Microsoft Office\Office16\OSPP.VBS" (
set _Office16=1&set "_OSPP=%ProgramFiles%\Microsoft Office\Office16\OSPP.VBS"
) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\OSPP.VBS" (
set _Office16=1&set "_OSPP=%ProgramFiles(x86)%\Microsoft Office\Office16\OSPP.VBS"
)
if %_Office16% equ 0 (
set "msg=Office 2019 khong duoc cai dat..."
goto :end
)

for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul_2e%') do if not errorlevel 1 (set "_InstallRoot=%%b\root")
if "%_InstallRoot%" neq "" (
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v PackageGUID" %_Nul_2e%') do if not errorlevel 1 (set "_GUID=%%b")
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds" %_Nul_2e%') do if not errorlevel 1 (set "ProductIds=%%b")
set "_Config=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"
set "_PRIDs=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs"
) else (
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" %_Nul_2e%') do if not errorlevel 1 (set "_InstallRoot=%%b\root")
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v PackageGUID" %_Nul_2e%') do if not errorlevel 1 (set "_GUID=%%b")
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds" %_Nul_2e%') do if not errorlevel 1 (set "ProductIds=%%b")
set "_Config=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration"
set "_PRIDs=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\ProductReleaseIDs"
)
set "_LicensesPath=%_InstallRoot%\Licenses16"
set "_Integrator=%_InstallRoot%\integration\integrator.exe"
for /f "skip=2 tokens=2*" %%a in ('"reg query %_PRIDs% /v ActiveConfiguration" %_Nul_2e%') do set "_PRIDs=%_PRIDs%\%%b"

if "%ProductIds%" equ "" (
set "msg=Khong tim thay Office ProductIDs..."
goto :end
)
if not exist "%_LicensesPath%\*.xrm-ms" (
set "msg=No Office License file found..."
goto :end
)
if not exist "%_Integrator%" (
set "msg=Not found in the system Office Licenses Integrator..."
goto :end
)
if %winbuild% lss 9200 if not exist "%_OSPP%" (
set "msg=No license tool found OSPP.vbs..."
goto :end
)

:Check
echo.
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo Checking office license.......................
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if %winbuild% geq 9200 (
set spp=SoftwareLicensingProduct
set sps=SoftwareLicensingService
) else (
set spp=OfficeSoftwareProtectionProduct
set sps=OfficeSoftwareProtectionService
)
for /f "tokens=2 delims==" %%a in ('"wmic path %sps% get version /value" %_Nul_2e%') do set ver=%%a
set _Free=0
for %%a in (Professional2019,ProPlus2019,ProjectPro2019,VisioPro2019) do (
wmic path %spp% where LicenseFamily='Office19%%aR_PrepidBypass' get LicenseStatus %_Nul_2% | findstr "1" %_Nul_1% && (set _%%aR=1&set _Free=1) || (set _%%aR=0)
)
wmic path %spp% where (Description like '%%KMSCLIENT%%' AND not LicenseFamily='Office16MondoR_KMS_Automation') get LicenseFamily %_Nul_2% | findstr /i /C:"Office" %_Nul_1% && (set _KMS=1) || (set _KMS=0)
wmic path %spp% where (Description like '%%TIMEBASED%%') get LicenseFamily %_Nul_2% | findstr /i /C:"Office" %_Nul_1% && (set _Time=1) || (set _Time=0)
wmic path %spp% where (Description like '%%Grace%%') get LicenseFamily %_Nul_2% | findstr /i /C:"Office" %_Nul_1% && (set _Grace=1) || (set _Grace=0)
if %_Time% equ 0 if %_Grace% equ 0 if %_Free% equ 0 if %_KMS% equ 1 (
set "msg=No conversion required or Clean the license..."
goto :end
)
if %_Free% equ 1 if %_KMS% equ 0 (
set "msg=No conversion required or Clean the license.."
goto :end
)
setlocal EnableDelayedExpansion
for %%a in (Professional2019,ProPlus2019,ProjectPro2019,VisioPro2019) do if !_%%aR! equ 1 (
if "!_Preserve!" equ "" (set "_Preserve=%%aRetail") else (set "_Preserve=!_Preserve!,%%aRetail")
)
if %_KMS% equ 0 goto :Retail2Volume
for /f "tokens=2 delims==_" %%a in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%' AND LicenseFamily like 'Office%%' AND LicenseStatus='1') get LicenseFamily /value"') do (call reserve %%a)
goto :Retail2Volume

reserve
if /i '%1' equ 'Office16MondoR' exit /b
set "_License=%1"
set "_License=!_License:~8!"
if /i "!_License:~-6!" equ "XC2RVL" (set "_License=!_License:~0,-6!") else (set "_License=!_License:~0,-2!")
if "!_Preserve!" equ "" (set "_Preserve=!_License!") else (set "_Preserve=!_Preserve!,!_License!")
exit /b

::Retail2Volume
echo.
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo Cleaning the license Office ...
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cd /d "%~dp0"
%arch%\cleanospp.exe -Licenses %_Nul_1_2%
echo.
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo Installing Licence Office Volume...
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo.
set O19Ids=ProPlus2019,ProjectPro2019,VisioPro2019,Standard2019,ProjectStd2019,VisioStd2019
set SkuIds=O365ProPlus,Professional,ProjectPro,VisioPro,Standard,ProjectStd,VisioStd
set A19Ids=Excel2019,Outlook2019,PowerPoint2019,Publisher2019,Word2019
set AppIds=Excel,OneNote,Outlook,PowerPoint,Publisher,Word

for %%a in (Mondo,%O19Ids%,%A19Ids%,Access2019,SkypeforBusiness2019,Professional2019,%SkuIds%,%AppIds%,Access,SkypeforBusiness,ProPlus) do (
set _%%a=0
)
for %%a in (Mondo,%O19Ids%,%A19Ids%,Access2019,SkypeforBusiness2019,Professional2019,%SkuIds%,%AppIds%,Access,SkypeforBusiness) do (
echo %ProductIds%| findstr /I /C:"%%aRetail" %_Nul_1% && set _%%a=1
)
for %%a in (Mondo,%O19Ids%,%A19Ids%,Access2019,SkypeforBusiness2019,%SkuIds%,%AppIds%,Access,SkypeforBusiness) do (
echo %ProductIds%| findstr /I /C:"%%aVolume" %_Nul_1% && set _%%a=0
)
reg query %_PRIDs%\ProPlusRetail.16 %_Nul_1_2% && set _ProPlus=1
reg query %_PRIDs%\ProPlusVolume.16 %_Nul_1_2% && set _ProPlus=0

for %%a in (Professional2019,ProPlus2019,ProjectPro2019,VisioPro2019) do if !_%%aR! equ 1 (
set _%%a=0
)
if !_Mondo! equ 1 (
echo Mondo Suite
echo.
call :InsLic Mondo
goto :GVLK
)
if !_O365ProPlus! equ 1 (
echo O365ProPlus Suite -^> Mondo Licenses
echo.
call :InsLic Mondo
)
if !_ProPlus2019! equ 1 if !_O365ProPlus! equ 0 (
echo ProPlus2019 Suite
echo.
call :InsLic ProPlus2019
)
if !_ProPlus! equ 1 if !_ProPlus2019! equ 0 if !_O365ProPlus! equ 0 (
echo ProPlus Suite
echo.
call :InsLic ProPlus
)
if !_Professional2019! equ 1 if !_ProPlus2019! equ 0 if !_O365ProPlus! equ 0 if !_ProPlus! equ 0 (
echo Professional2019 Suite -^> ProPlus2019 Licenses
echo.
call :InsLic ProPlus2019
)
if !_Professional! equ 1 if !_ProPlus2019! equ 0 if !_O365ProPlus! equ 0 if !_ProPlus! equ 0 if !_Professional2019! equ 0 (
echo Professional Suite -^> ProPlus Licenses
echo.
call :InsLic ProPlus
)
if !_Standard2019! equ 1 if !_ProPlus2019! equ 0 if !_O365ProPlus! equ 0 if !_ProPlus! equ 0 if !_Professional2019! equ 0 if !_Professional! equ 0 (
echo Standard2019 Suite
echo.
call :InsLic Standard2019
)
if !_Standard! equ 1 if !_ProPlus2019! equ 0 if !_O365ProPlus! equ 0 if !_ProPlus! equ 0 if !_Professional2019! equ 0 if !_Professional! equ 0 if !_Standard2019! equ 0 (
echo Standard Suite
echo.
call :InsLic Standard
)
for %%a in (ProjectPro2019,VisioPro2019,ProjectStd2019,VisioStd2019) do if !_%%a! equ 1 (
echo %%a SKU
echo.
call :InsLic %%a
)
for %%a in (ProjectPro,ProjectStd,VisioPro,VisioStd) do if !_%%a! equ 1 (
if !_%%a2019! equ 0 (echo %%a SKU&echo.&call :InsLic %%aX)
)
for %%a in (%A19Ids%,%AppIds%) do if !_%%a! equ 1 (
if !_ProPlus2019! equ 0 if !_O365ProPlus! equ 0 if !_ProPlus! equ 0 if !_Professional2019! equ 0 if !_Professional! equ 0 if !_Standard2019! equ 0 if !_Standard! equ 0 (echo %%a App&echo.&call :InsLic %%a)
)
for %%a in (Access2019,Access) do if !_%%a! equ 1 (
if !_ProPlus2019! equ 0 if !_O365ProPlus! equ 0 if !_ProPlus! equ 0 if !_Professional2019! equ 0 if !_Professional! equ 0 (echo %%a App&echo.&call :InsLic %%a)
)
for %%a in (SkypeforBusiness2019,SkypeforBusiness) do if !_%%a! equ 1 (
if !_ProPlus2019! equ 0 if !_O365ProPlus! equ 0 if !_ProPlus! equ 0 (echo %%a App&echo.&call :InsLic %%a)
)
goto :GVLK

:InsLic
set "_ID=%1Volume"
"%_Integrator%" /I /License PRIDName=%_ID%.16 PackageGUID="%_GUID%" PackageRoot="%_InstallRoot%" %_Nul_1%
reg add %_Config% /f /v %_ID%.OSPPReady /t REG_SZ /d 1 %_Nul_1%
reg query %_Config% /v ProductReleaseIds | findstr /I "%_ID%" %_Nul_1%
if %errorlevel% neq 0 (
for /f "skip=2 tokens=2*" %%a in ('reg query %_Config% /v ProductReleaseIds') do reg add %_Config% /f /v ProductReleaseIds /t REG_SZ /d "%%b,%_ID%" %_Nul_1%
)
exit /b

:GVLK
if "!_Preserve!" neq "" for %%a in (!_Preserve!) do (
reg query %_Config% /v %%aVolume.OSPPReady %_Nul_1_2% || "%_Integrator%" /I /License PRIDName=%%aVolume.16 PackageGUID="%_GUID%" PackageRoot="%_InstallRoot%" %_Nul_1%
)
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo Installing Licence Key KMS_Client...
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo.
for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%' AND LicenseFamily like 'Office%%' AND PartialProductKey=NULL) get ID /value" %_Nul_2e%') do (set app=%%G&call :InsKey)
if exist "%SystemRoot%\System32\spp\store_test\2.0\tokens.dat" (
echo.
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo Installing Key.........................................
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo.
cscript //Nologo //B %_SLMGR% /rilc
)
set "msg=Done THANK YOU"
goto :end

:InsKey
if /i '%app%' equ 'e914ea6e-a5fa-4439-a394-a9bb3293ca09' exit /b
if /i '%app%' equ '0bc88885-718c-491d-921f-6f214349e79c' exit /b
if /i '%app%' equ 'fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9' exit /b
if /i '%app%' equ '500f6619-ef93-4b75-bcb4-82819998a3ca' exit /b
set "key="
for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where ID='%app%' get LicenseFamily /value"') do echo %%A
for /f %%A in ('cscript //Nologo x86\key.vbs %app%') do set "key=%%A"
if "%key%" equ "" (echo Could not find matching gVLK&echo.&exit /b)
wmic path %sps% where version='%ver%' call InstallProductKey ProductKey="%key%" %_Nul_1_2%
echo.
exit /b

:end
echo.
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo %msg%
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo.
echo Nhan phim bat ky de thoat...
if %_Debug% EQU 0 pause >nul
goto :eof
Nếu có vi phạm bản quyền của bạn nào xin hai chữ "đại xá".Bạn nào làm không nên cũng xin đừng gạch đá.
Cảm ơn không ném đá
 
Sửa lần cuối:

Hoang Duch2

Rồng Đỏ
Cũng trên bản Win này, hôm đó tôi cài bản VISO Proplus 2019 VL, dùng tiếp code từ #1 để chuyển sang Retail thành công như sau:

set ver=16
if exist "%ProgramFiles%\Microsoft Office\Office%ver%\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office%ver%"
if exist "%ProgramFiles(x86)%\:Microsoft Office\Office%ver%\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office%ver%"
for /f %i in ('dir /b ..\root\Licenses%ver%\VisioPro2019R_Retail*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses%ver%\%i"
exit
 

Hoang Duch2

Rồng Đỏ


Tôi hiên đang có mấy bản Win cài với bản O 2019 Retail, vậy dùng code này của bạn được không?