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 ạ.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:
Xem phần đính kèm 2222
Xem phần đính kèm 2223
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 ạ.
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 ạ.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:
Xem phần đính kèm 2222
Xem phần đính kèm 2223
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.Cảm ơn bài viết bổ ích của bác @Hoang Duch2.
Cháu xin được mạn phép múa rìu tý ạ. Có gì không phải mong mọi người rộng lòng bỏ qua.
Trước tiên nói về Key Retail. Key này có 2 loại: MSDNR_Retail và R_Retail.
Khi xem đoạn code của bác @Hoang Duch2 cháu thấy mới chỉ kích hoạt được với key R_Retail, còn với key MSDNR_Retail thì sẽ báo lỗi key không tương thích.
- MSDNR_Retail Key: Là Key mà Microsoft dành riêng cho nhà phát triển để thử nghiệm phần mềm, loại Key này thường bị Leak và được chia sẻ nhiều hơn.
- R_Retail Key: Là loại key Microsoft bán trực tiếp cho người dùng cuối thông qua Store và các đại lý ủy quyền (như Amazon chẳng hạn). Vì vậy mà loại key này khó bị Leak và hiếm hơn key MSDNR_Retail. Office 2019 ProPlus cháu mới chỉ thấy có 1 key loại này bị rò rỉ, là key bác @Hoang Duch2 dùng ở trên.
Để kích hoạt được với cả 2 loại Key Retail thì đoạn code cần được thêm phần sau:
Trước khi thêm code, bác có thể nạp key MSDNR_Retail sau vào MSAct Plus để kiểm chứng.Mã:if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16" if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16" for /f %i in ('dir /b ..\root\Licenses16\ProPlus2019MSDNR_Retail*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%i"
Hi vọng chia sẻ này sẽ giúp bài viết của bác @Hoang Duch2 được hoàn thiện hơn. Cảm ơn mọi người đã đọc.Office 2019 ProPlus MSDNR_Retail
Key: BQFKQ-9N4RG-W4B27-KKQGH-FJTTG
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 ạ.Bạn @haibmh, tôi ráng thêm một chút, chạy lại code của bạn và điền key VL thì nó ra hình như sau:
Xem phần đính kèm 2224
Vậy là thành công rồi phải không bạn? Tạm biệt bạn, hẹn lại ngày mai nhé.
vậy là được rồi bác@Duong Dang, @Đông Phương, Bác đã thêm code của hai cháu và điền key của Duong Dang vào test, key đã bị blocked rồi, nó không báo thêm lỗi khác vậy là được rồi phải không hai cháu?
Xem phần đính kèm 2228
vậy là được rồi bác
Ok rồi bácBác đã thêm vào phần code từ #1, cháu xem lại có đúng không giúp Bác nhé. Cảm ơn cháu.
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.
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á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?
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 ạ
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 đó)
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 đá.@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 (callreserve %%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
Cảm ơn không ném đá
Tôi cài bản chuẩn dĩ nhiên là bản Retail.Cũng đã chụp lại hình song là máy của khách nên giờ kiếm lại cũng khó.Chạy dòng lệnh kiểm tra cmd có cả 2 key VL&retailTô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?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?