Isolating Duality 420/IORRT code to adjust reg or system paths if possible? Code: :IORRT setlocal enabledelayedexpansion title IORRT if not exist "%Windir%\system32\schtasks.exe" ( cls echo You don't have schtasks.exe installed echo. echo IORRT is not compatable with XP Home Edition echo Install XP Professional or schtasks.exe ping -n 10 127.0.0.1 >NUL goto MAINMENU ) set OfficeArchType= if '%processor_architecture%'=='x86' Set OfficeArchType=32 && Goto:EndArchCheck goto:WOWCheck :WOWCheck 2>nul REG QUERY HKLM\SOFTWARE\Microsoft\Office\15.0\Common | find /i "InstallRoot" 1>nul IF ERRORLEVEL 1 Set OfficeArchType=WOW && Goto:EndArchCheck Set OfficeArchType=64 :EndArchCheck if %OfficeArchType%==WOW ( FOR /F "tokens=2* delims= " %%A IN ('"REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot" /v Path 2>NUL"') DO SET InstallRoot=%%B if not defined InstallRoot ( cls & echo Office 2013 VL is not installed... & ping -n 5 127.0.0.1 >nul & goto mainmenu ) Goto:FoundPath ) FOR /F "tokens=2* delims= " %%A IN ('"REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot" /v Path 2>NUL"') DO SET InstallRoot=%%B if not defined InstallRoot ( cls & echo Office 2013 VL is not installed... & ping -n 5 127.0.0.1 >nul & goto mainmenu ) :FoundPath 1>nul 2>nul net start osppsvc cscript "%InstallRoot%"ospp.vbs /dstatus |FINDSTR /i "KMS_Client" >NUL if %errorlevel% EQU 1 ( cls & echo No office 2013 VL detected... & ping -n 5 127.0.0.1 >nul & goto mainmenu ) :IORRT1 mode con: cols=45 lines=11 CLS echo. echo. echo. InfiniteOfficeRestoreRearmTask (IORRT) echo. echo. A. Install echo. B. Uninstall echo. C. Restore/Rearm echo. D. Status echo. E. Duality echo. F. Exit Duality echo. :CHOOSEACTION1 set /p userinp= ^ Make your selection: set userinp=%userinp:~0,1% if /i "%userinp%"=="A" goto InstallIORRT if /i "%userinp%"=="B" goto UninstallIORRT if /i "%userinp%"=="C" goto Rearm if /i "%userinp%"=="D" goto StatusIORRT if /i "%userinp%"=="E" goto MAINMENU if /i "%userinp%"=="F" goto Exit echo.Try Again... GOTO CHOOSEACTION1 :InstallIORRT CLS title IORRT mode con: cols=45 lines=11 schtasks /query | FINDSTR /I "IORRT" >NUL IF %ERRORLEVEL% NEQ 0 ( echo. ) ELSE ( echo IORRT is already installed... ping -n 5 127.0.0.1 >nul GOTO IORRT1 ) mode con: cols=62 lines=5 title IORRT 4.0 echo Installing IORRT... echo. set onstart=onstart set daily=daily VER | FINDSTR /IL "5.1." > NUL if %ERRORLEVEL% EQU 0 ( for /f "tokens=2,*" %%A in ('"reg query "HKLM\system\controlset001\control\nls\language" /v InstallLanguage"') do set Language=%%B if '!Language!' EQU '0407' ( set daily=täglich & set onstart=beimstart ) if '!Language!' EQU '0416' ( set daily=diariamente ) if '!Language!' EQU '0415' ( set daily=codziennie & set onstart=przy_uruchomieniu ) if '!Language!' EQU '041f' ( set daily=günlük ) ) schtasks /create /tn "IORRT" /tr "%SystemDrive%\IORRT\IORRT.bat" /sc %daily% /mo 1 /ru "" >NUL 2>&1 if %ERRORLEVEL% NEQ 0 ( cls echo IORRT task could not be installed echo. echo Your language version is not yet compatible with IORRT echo Seek assistance in Duality development thread ping -n 10 127.0.0.1 >NUL goto IORRT1 ) else ( schtasks /delete /tn "IORRT" /f >NUL ) schtasks /create /tn "Hybrid" /tr "%SystemDrive%\IORRT\IORRT.bat" /sc %onstart% /ru "" >NUL 2>&1 if %ERRORLEVEL% NEQ 0 ( cls echo Hybrid task could not be installed echo. echo Your language version is not yet compatible with IORRT echo Seek assistance in Duality development thread ping -n 10 127.0.0.1 >NUL goto IORRT1 ) else ( schtasks /delete /tn "Hybrid" /f >NUL ) mkdir "%SystemDrive%\Check" net stop osppsvc >NUL xcopy /cheriky "%ALLUSERSPROFILE%\Microsoft\OfficeSoftwareProtectionPlatform" "%SystemDrive%\Check\Backup\Files\Tokens" >NUL mkdir "%SystemDrive%\Check\Backup\Registry" >NUL reg save "HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" %SystemDrive%\Check\Backup\Registry\OfficeSPPInfo.hiv >NUL net start osppsvc >NUL IF Exist "%CommonProgramFiles%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" ( "%CommonProgramFiles%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >NUL ) ELSE ( "%commonprogramfiles(x86)%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >NUL ) if errorlevel==0 goto Pass net stop osppsvc >NUL xcopy /cheriky "%SystemDrive%\Check\Backup\Files\Tokens" "%ALLUSERSPROFILE%\Microsoft\OfficeSoftwareProtectionPlatform" >NUL REG DELETE HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >NUL REG ADD HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >NUL reg restore "HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" %SystemDrive%\Check\Backup\Registry\OfficeSPPInfo.hiv >NUL net start osppsvc >NUL DEL "%ALLUSERSPROFILE%\Microsoft\OfficeSoftwareProtectionPlatform\Backup.hiv" 2> nul SET file=%SystemDrive%\Check IF EXIST %file% attrib -h %file% RD /S /Q %file% cd /d "%InstallRoot%" echo. cscript OSPP.VBS /dstatus | FINDSTR /i "Status" cscript OSPP.VBS /dstatus | FINDSTR /i "Remaining" echo. echo No Rearms Detected... set msg=No rearms detected call :speak "No rearms detected" goto :END :speak echo On Error Resume Next: CreateObject("SAPI.SpVoice").Speak %1 >"%~dp0vc.vbs" "%~dp0vc.vbs" & del "%~dp0vc.vbs" ping -n 5 127.0.0.1 >nul GOTO IORRT1 :Pass net stop osppsvc >NUL xcopy /cheriky "%SystemDrive%\Check\Backup\Files\Tokens" "%ALLUSERSPROFILE%\Microsoft\OfficeSoftwareProtectionPlatform" >NUL REG DELETE HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >NUL REG ADD HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >NUL reg restore "HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" %SystemDrive%\Check\Backup\Registry\OfficeSPPInfo.hiv >NUL net start osppsvc >NUL DEL "%ALLUSERSPROFILE%\Microsoft\OfficeSoftwareProtectionPlatform\Backup.hiv" 2> nul SET file=%SystemDrive%\Check IF EXIST %file% attrib -h %file% RD /S /Q %file% mkdir "%SystemDrive%\IORRT" net stop osppsvc >NUL xcopy /cheriky "%ALLUSERSPROFILE%\Microsoft\OfficeSoftwareProtectionPlatform" "%SystemDrive%\IORRT\Backup\Files\Tokens" >NUL mkdir "%SystemDrive%\IORRT\Backup\Registry" reg save "HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" %SystemDrive%\IORRT\Backup\Registry\OfficeSPPInfo.hiv >NUL net start osppsvc >NUL SET file=%SystemDrive%\IORRT\IORRT.bat IF EXIST %file% attrib -h %file% echo @echo off >%file% echo net stop osppsvc >>%file% echo xcopy /cheriky "%SystemDrive%\IORRT\Backup\Files\Tokens" "%ALLUSERSPROFILE%\Microsoft\OfficeSoftwareProtectionPlatform" >>%file% echo REG DELETE HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >>%file% echo REG ADD HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >>%file% echo reg restore "HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" %SystemDrive%\IORRT\Backup\Registry\OfficeSPPInfo.hiv >>%file% echo net start osppsvc >>%file% echo IF Exist "%COMMONPROGRAMFILES%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" ( >>%file% echo "%COMMONPROGRAMFILES%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >>%file% echo ) ELSE ( "%COMMONPROGRAMFILES(X86)%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >>%file% echo ) >>%file% echo schtasks /delete /tn "IORRT" /f >>%file% echo schtasks /create /tn "IORRT" /tr "%SystemDrive%\IORRT\IORRT.bat" /sc %daily% /mo 1 /ru "" >>%file% IF Exist "%CommonProgramFiles%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" ( "%CommonProgramFiles%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >NUL ) ELSE ( "%commonprogramfiles(x86)%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >NUL ) attrib +h "%SystemDrive%\IORRT" schtasks /create /tn "Hybrid" /tr "%SystemDrive%\IORRT\IORRT.bat" /sc %onstart% /ru "" >NUL schtasks /create /tn "IORRT" /tr "%SystemDrive%\IORRT\IORRT.bat" /sc %daily% /mo 1 /ru "" >NUL echo. title IORRT cd /d "%InstallRoot%" echo. echo. cscript OSPP.VBS /dstatus | FINDSTR /i "Status" cscript OSPP.VBS /dstatus | FINDSTR /i "Remaining" echo. echo Installation Successful... set msg=Installation Successful call :speak "Installation Successful" goto :END :speak echo On Error Resume Next: CreateObject("SAPI.SpVoice").Speak %1 >"%~dp0vc.vbs" "%~dp0vc.vbs" & del "%~dp0vc.vbs" ping -n 5 127.0.0.1 >nul GOTO IORRT1 :UninstallIORRT schtasks /query | FINDSTR /I "IORRT" >NUL IF '%ERRORLEVEL%' EQU '0' ( echo. ) ELSE ( mode con: cols=45 lines=10 title IORRT echo IORRT is already uninstalled... ping -n 5 127.0.0.1 >nul GOTO IORRT1 ) mode con: cols=62 lines=5 title IORRT echo Uninstalling IORRT... echo. net stop osppsvc >NUL xcopy /cheriky "%SystemDrive%\IORRT\Backup\Files\Tokens" "%ALLUSERSPROFILE%\Microsoft\OfficeSoftwareProtectionPlatform" >NUL REG DELETE HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >NUL REG ADD HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >NUL reg restore "HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" %SystemDrive%\IORRT\Backup\Registry\OfficeSPPInfo.hiv >NUL net start osppsvc >NUL DEL "%ALLUSERSPROFILE%\Microsoft\OfficeSoftwareProtectionPlatform\Backup.hiv" 2> nul SET file=%SystemDrive%\IORRT IF EXIST %file% attrib -h %file% rd /S /Q %file% schtasks /delete /tn "Hybrid" /f >NUL schtasks /delete /tn "IORRT" /f >NUL cd /d "%InstallRoot%" echo. echo. cscript OSPP.VBS /dstatus | FINDSTR /i "Status" cscript OSPP.VBS /dstatus | FINDSTR /i "Remaining" echo. echo Successfully Uninstalled... set msg=Successfully Uninstalled call :speak "Successfully Uninstalled" goto :END :speak echo On Error Resume Next: CreateObject("SAPI.SpVoice").Speak %1 >"%~dp0vc.vbs" "%~dp0vc.vbs" & del "%~dp0vc.vbs" ping -n 5 127.0.0.1 >nul GOTO IORRT1 :Rearm mode con: cols=45 lines=11 title IORRT schtasks /query | FINDSTR /I "IORRT" >NUL IF %ERRORLEVEL% EQU 0 ( echo. ) ELSE ( echo IORRT is not installed... ping -n 5 127.0.0.1 >nul GOTO IORRT1 ) mode con: cols=64 lines=6 echo Restoring and rearming... echo. set daily=daily VER | FINDSTR /IL "5.1." > NUL if %ERRORLEVEL% EQU 0 ( for /f "tokens=2,*" %%A in ('"reg query "HKLM\system\controlset001\control\nls\language" /v InstallLanguage"') do set Language=%%B if '!Language!' EQU '0407' ( set daily=täglich ) if '!Language!' EQU '0416' ( set daily=diariamente ) if '!Language!' EQU '0415' ( set daily=codziennie ) if '!Language!' EQU '041f' ( set daily=günlük ) ) net stop osppsvc >NUL xcopy /cheriky "C:\IORRT\Backup\Files\Tokens" "%SystemDrive%\ProgramData\Microsoft\OfficeSoftwareProtectionPlatform" >NUL REG DELETE HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >NUL REG ADD HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform /f >NUL reg restore "HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" %SystemDrive%\IORRT\Backup\Registry\OfficeSPPInfo.hiv >NUL net start osppsvc >NUL IF Exist "%CommonProgramFiles%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" ( "%CommonProgramFiles%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >NUL ) ELSE ( "%commonprogramfiles(x86)%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >NUL ) schtasks /delete /tn "IORRT" /f >NUL schtasks /create /tn "IORRT" /tr "%SystemDrive%\IORRT\IORRT.bat" /sc %daily% /mo 1 /ru "" >NUL cd /d "%InstallRoot%" cscript OSPP.VBS /dstatus | FINDSTR /i "Status" cscript OSPP.VBS /dstatus | FINDSTR /i "Remaining" echo. schtasks /query | FINDSTR /I "IORRT" IF ERRORLEVEL 1 echo IORRT is not installed... ping -n 5 127.0.0.1 >nul GOTO IORRT1 :StatusIORRT mode con: cols=64 lines=6 title IORRT cd /d "%InstallRoot%" cscript OSPP.VBS /dstatus | FINDSTR /i "Status" cscript OSPP.VBS /dstatus | FINDSTR /i "Remaining" echo. schtasks /query | FINDSTR /I "IORRT" IF ERRORLEVEL 1 echo IORRT is not installed... ping -n 5 127.0.0.1 >nul GOTO IORRT1 endlocal For some language problems regarding XP users we did some language alteration code so maybe that is where "could not find the path specified" error might be but I don't think so since installation was partial and those error checks probably weren't the problem? Kinda busy but I thought I'd put up possible problem areas for when I have time to work on Duality 420 late tonight?
Hidden check and IORRT folder in system folder installs fine with IORRT bat and backup folder with token and cache Uninstalls fine too Is not borking 2013 so far
Ok thinking this code is producing error since it has 3 lines and install had 3 lines I remember when I was developing IORRT after I found out 2010 reinstalled to previous status, I was asked why rearm after restore but I knew we needed to clear slate to 30 days after restore hence IORRT install could happen at any time during trial status 29, 28, 27, etc... This is why in IORRT we always needed 1 rearm to work +2 for TS Anyway, I think these paths are invalid and will try to sort that out Also in my testing of Office 2013 when restore/rearming there was one error which was probably there was one error which was probably rearm not reg restore but not certain just saying Code: net start osppsvc >NUL IF Exist "%CommonProgramFiles%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" ( "%CommonProgramFiles%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >NUL ) ELSE ( "%commonprogramfiles(x86)%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" >NUL ) I only run x86 so might need help with x64 paths from x64 2013 users 1. Code: "%CommonProgramFiles%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" 2. Code: "%commonprogramfiles(x86)%\microsoft shared\OfficeSoftwareProtectionPlatform\OSPPREARM.exe" Hence 2013 moved OSPPREARM.exe to but need to know how to define the system folder for 32/64? Code: "%?%\Program Files%\Microsoft Office\Office15\OSPPREARM.exe" Code: "%?%\Program Files(x86)%Microsoft Office\Office15\OSPPREARM.exe" How IORRT gets to system directory to x86/x64 is what is needed? Again this all based on registry backups for cache/token are still valid from 2010 to 2013 If not then I'll have to fix that too?
Code: IF Exist "%ProgramFiles%\Microsoft Office\Office15\OSPPREARM.exe" ( "%ProgramFiles%\Microsoft Office\Office15\OSPPREARM.exe" >NUL ) ELSE ( "%programfiles(x86)%\Microsoft Office\Office15\OSPPREARM.exe" >NUL ) It's probably wrong and for x64 I dunno It did rearm for x86 I think...lol Used Cody's backup 3 times to restore rearms but it didn't work for me Testing ran rearms down to 0 and re-installed 2013 to see if it installed in same 0 rearm status like 2010 would have and 2013 indeed puts to former status like 2010 hence 0 rearms Use Cody activation and 2013 returned to 1 rearm ...lol Will save W7 repair install for later if needed to get 2013 to 3 rearms along with 2013 uninstall/reinstall
Have you abandoned Office 2010?? Btw, Office ISOs don't need to be 'burned' to USB & (afaik) Windows 7 USB/DVD Download tool doesn't support them (as there is no bootsector).
I like 2013 better but if it can't be done I'll just keep the 2010 code I'll just put mount instructions for Office So use to UltraISO ...lol Thanks
Anyone know why'd I need this %installdir% for the rearm path IORRT for 2010 just used %commmonprogramfiles% And now just using %programfiles% Code: IF Exist "%ProgramFiles%\Microsoft Office\Office15\OSPPREARM.exe" ( "%ProgramFiles%\Microsoft Office\Office15\OSPPREARM.exe" >NUL ) ELSE ( "%programfiles(x86)%\Microsoft Office\Office15\OSPPREARM.exe" >NUL ) WTF And also anyone can explain this: /rearm:value Resets the licensing status for an Office 2013 license with a user-provided SKUID value. Value parameter is required. Use this option with the SKUID value specified by using the /dstatus option if you have run out of rearms and have activated Office through KMS or AD-based activation to gain an additional rearm. Can someone with x64 OS running 2013 VL test this rearm path please Of course you'll have to use the Cody's tool to check rearms before hand to give accurate results Kinda forgot if you'll need the "" What are those "" for anyway, I forgot Code: "%programfiles(x86)%\Microsoft Office\Office15\OSPPREARM.exe" Thanks Edit...lol: Yea use the "" So rearm is definitely working for x86 So need test for x64 please Code: "%programfiles(x86)%\Microsoft Office\Office15\OSPPREARM.exe"
Finished Duality 420 Going to start new thread because I wish Trilogy 4.2 thread to be archived, like IR5 and IORRT threads are, with all it's testing and development and so people can still use Office 2010 VL if they want, however I highly recommend using Duality 420 cause Office 2013 is so much better Only thing really left to confirm is this x64 rearm code (Please someone test) Code: "%programfiles(x86)%\Microsoft Office\Office15\OSPPREARM.exe" I do not have x64 unit to test if rearm code is working or not. Pretty sure it is! Will post new thread today and ask that Trilogy 4.2 thread be closed for archive after confirmation of x64 rearm code is working? Look forward to giving support for Duality 420, and being part of MDL Developing again, the best Forum on Earth TS p.s. Probably will wait couple days to see if it's working 100% with no MS msg's, etc, but even if we have to just use IORRT with 2010 will still start new thread so Moderators please wait till I give signal to close Trilogy 4.2 thread Thank you
Wishing you success!! I'm currently out of my home; I'll try to look into the code when I'll back. IMHO, there are more experts than me.
@Timesurfer: You want want a different variable like %installdir% because it is possible to install Office elsewhere (I don't know why people do custom paths in non-corp server environments, but it is one more case to cover). You want to get the InstallPath value from the registry to determine this.
@TS /rearm:value is what I meant by passing a SKUID. It rearms one license of Office, like if you have Visio and Pro Plus keys installed, you can rearm one without effecting the other. Also, sometimes you have to pass a SKUID to rearm successfully, therefore you should always pass a SKUID to cover all bases. I loop through all SKUIDs for installed product keys.