RogueSpear's Runtime Collection

All posts in this forum are for releases only.

Moderators: Waldo2k2, RogueSpear, dumpydooby

Re: RogueSpear's Runtime Collection

Postby user_hidden » Sat Sep 05, 2009 6:08 am

@Roguespear


Thank you and Thank you 8)
user_hidden
 
Posts: 123
Joined: Mon Dec 10, 2007 6:48 pm

Update

Postby RogueSpear » Thu Sep 10, 2009 9:36 pm

20090910 - RogueSpear's Runtimes updated to v3.5.1

Just updated the DirectX redist to August 2009 release.
User avatar
RogueSpear
Site Admin
 
Posts: 1889
Joined: Mon Jun 26, 2006 1:14 pm
Location: Buffalo, NY

Re: RogueSpear's Runtime Collection

Postby dumpydooby » Mon Oct 12, 2009 3:56 pm

Hmm, I had an error after installing Malwarebytes saying that MSVBVM60.DLL was missing. That's a runtime that comes with Visual Basic 6.0 runtime package.

You can see for yourself here (links to the vbrun60sp6 redist package): http://download.piriform.com/vbrun60sp6.exe
Love Always,
Dumpy Dooby
User avatar
dumpydooby
 
Posts: 280
Joined: Fri Sep 01, 2006 8:22 pm

Re: RogueSpear's Runtime Collection

Postby chiners_68 » Wed Oct 21, 2009 9:41 am

Hi Rogue,
any chance you can update the .net 1.1 SP1 with KB953297 security update
&
.net 2.0 Sp2 with KB974417

cheers
chiners_68
 
Posts: 134
Joined: Wed Oct 04, 2006 4:21 am

Re: RogueSpear's Runtime Collection

Postby RogueSpear » Wed Oct 21, 2009 9:55 am

I think user_hidden has got those covered, and I also think that his installers are based off of mine. I need to check to be sure, but if that's the case I'm going to be removing mine in lieu of his.
User avatar
RogueSpear
Site Admin
 
Posts: 1889
Joined: Mon Jun 26, 2006 1:14 pm
Location: Buffalo, NY

Re: RogueSpear's Runtime Collection

Postby dumpydooby » Sun Nov 01, 2009 12:29 am

http://xp.xpdnc.org/RogueSpearsRuntimes.exe
Size: 102MB
MD5: f9de02c8061f1115af9992cee2af1ec0

Installs From: svcpack


This is a modified version of RogueSpear's Runtimes. It contains Microsoft .NET Frameworks 2.0, 3.0, and 3.5. The .NET Framework 2.0 installs during SVCPACK, after which 3.0 and 3.5 are scheduled to install during RunOnceEx. This pack is fully compatible with ScriptPack in that the installation of the 3x Frameworks occur at the same time as when ScriptPack would normally schedule it. The cleanup routine is also appended to the ScriptPack cleanup.


Everything shows up in Add/Remove Programs just fine. And I have personally tested the removal of each application one-by-one to ensure that the uninstall routines are flawless.

A log file is created in %WinDir%\RSRTerr.log, which will only log errors from the MSI files. It will still have content, but the rest of it just describes what package is being processed and with what parameters.

It is only compatible with Windows XP SP3. Rather, I have only tested it on XP SP3, and I don't support the installation of it on any other platforms. If you're using Vista or Windows 7, you need to upgrade to XP. If you're using SP1 or SP2, then you need to upgrade to SP3. That's how I see it. But if it works for you on another platform, then great!

Thanks to YumeYao and RogueSpear for permission to redistribute their work.



For other repackers out there, here is the install.vbs file that I use (note: the comments in the top have been unmodified; my changes are largely undocumented, sry):

Code: Select all
'==========================================================================
'
' VBScript Source File
'
' NAME: Install.vbs
' VERSION: 2.1.0.1
'
' AUTHOR: David R. Stein
' LAST UPDATED: 10/08/2009
'
' COMMENT: This script will install new and update existing runtime files.
'          Existing files which the OS has a file system lock, will be
'          replaced using Microsoft's PendingFileOperatings feature.  The
'          list of pending file operations is a REG_MULTI_SZ registry value
'          and be viewed at the following location:
'
'          HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
'
'          When this script is executed from svcpack during Windows setup,
'          the command line utility, pendmove.exe, written by Code65536 Is
'          used to populate the registry with the appropriate information.
'          This utility is used in order to avoid clobbering any existing
'          pending instructions.  Unfortunately this seems to only work as
'          intended from svcpack.  So when this script is executed post setup,
'          the script itself will generate the registry entries and this will
'          clobber any existing operations.  This needs to be kept in mind
'          when run post setup and it should be considered best practice To
'          execute this script as soon as possible after a reboot when used
'          post-setup in order to avoid any potential conflicts.
'
'          Any pre-existing runtime files will be compared with those in this
'          setup package by the date last modified time stamp per file.  This
'          is a departure from previous versions of this script where the file
'          version number was used as a basis for comparison.
'
'==========================================================================

Option Explicit
Dim fs, ws, objArg, txtArg, SetupState, CurrentVersion, svcpack
Dim sysroot, sysdrive, comspec, LogFile, LogText
Dim param, mypath, fastOEM, msiexecPROPERTIES, msiexecSWITCHES
Dim installFW35, DisableNag, Ren, objRen, vcrt8Dir, vcrt9Dir
Set fs = CreateObject("Scripting.FileSystemObject")
Set ws = WScript.CreateObject("WScript.Shell")
Set objArg = WScript.Arguments
SetupState = ws.RegRead("HKLM\SYSTEM\Setup\SystemSetupInProgress")
CurrentVersion = ws.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion")
svcpack = False : fastOEM = False : txtArg = "/qb"
comspec = ws.ExpandEnvironmentStrings("%COMSPEC%")
sysroot = ws.ExpandEnvironmentStrings("%SYSTEMROOT%")
sysdrive = ws.ExpandEnvironmentStrings("%SYSTEMDRIVE%")
mypath = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) - ( Len(WScript.ScriptName) + 1 ) )
vcrt8Dir = sysroot & "\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989"
vcrt9Dir = sysroot & "\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_d495ac4e"
If fs.FileExists(sysroot & "\RSRTerr.log") Then
   Set LogFile = fs.OpenTextFile(sysroot & "\RSRTerr.log", 8, False)
Else
   Set LogFile = fs.OpenTextFile(sysroot & "\RSRTerr.log", 8, True)
End If
WriteLog("Begin")

If WScript.Arguments.Count <> 0 Then
   For each param in WScript.Arguments
      If InStr(LCase(param),"qb") > 0 Or InStr(LCase(param),"passive") > 0 Then
         txtArg = "/qb!" : WriteLog("Interaction is PASSIVE")
      ElseIf InStr(LCase(param),"qn") > 0 Or InStr(LCase(param),"silent") > 0 Then
         txtArg = "/qn" : WriteLog("Interaction is SILENT")
      ElseIf InStr(LCase(param),"nff") > 0 Or InStr(LCase(param),"no-firefox-extension") > 0 Then
         DisableNag = True
      ElseIf InStr(LCase(param),"dn35") > 0 Or InStr(LCase(param),"install-dot-net-framework-35") > 0 Then
         installFW35 = True
      ElseIf InStr(LCase(param),"fastoem") > 0 Or InStr(LCase(param),"svcpack") > 0 Then
         If Left(sysdrive, 1) = Left(mypath, 1) Then
            fastOEM = True : WriteLog("Manually enabling FASTOEM")
         End If
      ElseIf InStr(LCase(param),"cleanup") > 0 Then
         WriteLog("Cleanup on next boot")
         ws.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\100\", "Cleaning up" , "REG_SZ"
         ws.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\100\2", comspec & " /c RmDir /S /Q """ & mypath & """", "REG_SZ"
      End If
   Next
End If

If installFW35 Then
   InstalldotNETFW35SP1
End If

If SetupState = 1 Then
   svcpack = True
   If Left(sysdrive, 1) = Left(mypath, 1) And fastOEM <> True Then
      fastOEM = True : WriteLog("Automatically enabling FASTOEM")
   End If
   ws.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\010\", ".NET Framework 3.5 SP1" , "REG_SZ"
   ws.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\010\1", WScript.ScriptFullName & " --passive --no-firefox-extension --install-dot-net-framework-35", "REG_SZ"
End If

InstallMSI Array("PKG\VC2005SP1\vcredist.msi", "ADDEPLOY=1 ARPNOMODIFY=0 ARPNOREPAIR=0")
InstallMSI Array("PKG\VC2008SP1\vc_red.msi", "ADDEPLOY=1 ARPNOMODIFY=0 ARPNOREPAIR=0")

If (Not fs.FileExists(vcrt8Dir & "\msvcr80.dll")) Or (Not fs.FileExists(vcrt8Dir & "\msvcp80.dll")) Or (Not fs.FileExists(vcrt8Dir & "\msvcm80.dll")) Then Close "Microsoft Visual C++ 2005 (v8.0) was not detected."
   
If svcpack Then
   ws.Run("reg.exe delete HKLM\Software\Microsoft\PCHealth\ErrorReporting\DW /f"),0,True
   If CurrentVersion > "5.0" Then
      ws.Run("reg.exe add HKLM\SYSTEM\Setup /v SystemSetupInProgress /t REG_DWORD /d 0 /f"),0,True
   End If
End If

'**********************************************************************
'** Function; Shitty little function that appends a log file         **
'**********************************************************************
Function WriteLog(line)
   LogFile.WriteLine(Date & " " & Time & " - " & "Runtimes Installer : " & line)
End Function

'**********************************************************************
'** Function; Remove all NULL characters from a text file            **
'**********************************************************************
Function RemoveNullFromLog(file)
   Dim oLog : Set oLog = fs.OpenTextFile(file,1,False)
   Dim sLog : sLog = oLog.ReadAll : oLog.Close
   If InStr(sLog,Chr(0)) Then
      sLog = Replace(sLog, Chr(0), "")
      fs.DeleteFile file, True
      Set oLog = fs.OpenTextFile(file,2,True)
      oLog.WriteLine(sLog) : oLog.Close
   End If
End Function
   

'**********************************************************************
'** Function; Exit installation routine; leave a message (optional)  **
'**********************************************************************
Function Close(msg)
   If LCase(TypeName(msg)) = "string" And msg <> "" Then
      WriteLog("[ERROR] " & msg)
   End If
   LogFile.WriteBlankLines(1) : WriteLog("End") : LogFile.Close
   RemoveNullFromLog sysroot & "\RSRTerr.log"
   WScript.Quit
End Function

'**********************************************************************
'** Function; Install an MSI package, append errors to log           **
'**********************************************************************
Function InstallMSI(args)
   On Error Resume Next
   Dim msiFile, msiFileName, msiPath, msiArr, msiPathPart, RunCommandLine
   Dim params, confirmFastOEM, logSwitch, method, objMsiPath, installSize
   method = txtArg
   logSwitch = "/lew+ " & Chr(34) & sysroot & "\RSRTerr.log" & Chr(34)
   confirmFastOEM = False
   If LCase(TypeName(args)) = "string" Then
      msiFile = args
      params = ""
   Else
      msiFile = args(0)
      If UBound(args) > 0 Then params = " " & args(1)
      If UBound(args) > 1 Then confirmFastOEM = args(2)
   End If
   msiArr = split(msiFile, "\") : msiPath = "\"
   For Each msiPathPart In msiArr
      If Right(LCase(msiPathPart),4) <> ".msi" Then
         msiPath = msiPath & msiPathPart & "\"
      Else
         msiFileName = msiPathPart
      End If
   Next
   If fastOEM And confirmFastOEM Then
      'FASTOEM makes a big difference in time, but it requires a lot of properties to be set. Because of this, not all installers play nice with it.
      'Even worse, it MUST be run in silent mode, and it DOES NOT track errors (they must manually be searched for in a verbose log)
      'I'm not using FASTOEM for now. The option still exists in this function, but not of my calls to the function request it. Haven't tested it enough.
      logSwitch = "/l*v " & Chr(34) & sysroot & "\RSRTverbose-" & Left(msiFileName,Len(msiFileName)-4) & ".log" & Chr(34)
      Set objMsiPath = fs.GetFolder(mypath & msiPath) : installSize = Round(objMsiPath.size/1024)
      method = "/qn"
      params = params & " ARPSIZE=" & installSize & " FASTOEM=1 ALLUSERS=1 DISABLEROLLBACK=1 CURRENTDIRECTORY=""" & mypath & msiPath & """ MEDIAPACKAGEPATH=""" & mypath & msiPath & """ ROOTDRIVE=" & sysdrive & "\"
   End If
   msiexecPROPERTIES = "REBOOT=ReallySuppress" & params
   
   msiexecSWITCHES = method & " " & logSwitch
   
   RunCommandLine = "msiexec.exe " & msiexecSWITCHES & " /i " & Chr(34) & mypath & "\" & msiFile  & Chr(34) & " " & msiexecPROPERTIES
   
   LogFile.WriteBlankLines(1)
   LogFile.WriteLine("==================================================")
   LogFile.WriteLine("Logging routine from " & msiFile)
   If params <> "" Then LogFile.WriteLine("PROPERTIES: " & params)
   If fastOEM And confirmFastOEM Then LogFile.WriteLine("See: <" & sysroot & "\RSRTverbose-" & Left(msiFileName,Len(msiFileName)-4) & ".log>")
   LogFile.Close
   ws.Run (RunCommandLine),0,True
   RemoveNullFromLog sysroot & "\RSRTerr.log"
   Set LogFile = fs.OpenTextFile(sysroot & "\RSRTerr.log", 8, False)
   LogFile.WriteLine("Finished @ " & Date & " " & Time & " local time")
   LogFile.WriteLine("==================================================")
End Function

'**********************************************************************
'** Subroutine; Install Microsoft .NET Framework 3.5 SP1             **
'**********************************************************************
Sub InstalldotNETFW35SP1
   If (Not fs.FileExists(vcrt9Dir & "\msvcr90.dll")) Or (Not fs.FileExists(vcrt9Dir & "\msvcp90.dll")) Or (Not fs.FileExists(vcrt9Dir & "\msvcm90.dll")) Then Close "Microsoft Visual C++ 2008 (v9.0) was not detected."
   Dim KB932471, SPLevel, CurrentVersion, BitsState, SpoolerState, BitsMode, SpoolerMode
   If installFW35 = True Then
      If Not fs.FileExists(sysroot & "\Microsoft.NET\Framework\v2.0.50727\ngen.exe") Then Close "Microsoft .NET Framework 2.0 was not detected."
      CurrentVersion = ws.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion")
      SPLevel = ws.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDVersion")
      BitsState = ws.RegRead("HKLM\SYSTEM\CurrentControlSet\Services\BITS\Start")
      SpoolerState = ws.RegRead("HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start")

      Select Case CurrentVersion
         Case "5.1"
            If SPLevel = "Service Pack 3" Then
               KB932471 = False
            Else
               KB932471 = True
            End If
         Case "5.2"
            If SPLevel = "Service Pack 2" Then
               KB932471 = False
            Else
               KB932471 = True
            End If
         Case Else
            WScript.Quit
      End Select
      
      Select Case BitsState
         Case 4
            BitsMode = "Disabled"
            ws.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\BITS\Start\", 2, "REG_DWORD"
            ws.Run "NET START BITS", 0, True
         Case 3
            BitsMode = "Manual"
            ws.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\BITS\Start\", 2, "REG_DWORD"
            ws.Run "NET START BITS", 0, True
         Case 2
            BitsMode = "Auto"
            ws.Run "NET START BITS", 0, True
      End Select

      Select Case SpoolerState
         Case 4
            SpoolerMode = "Disabled"
            ws.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start\", 2, "REG_DWORD"
            ws.Run("NET START Spooler"),0,True
         Case 3
            SpoolerMode = "Manual"
            ws.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start\", 2, "REG_DWORD"
            ws.Run("NET START Spooler"),0,True
         Case 2
            SpoolerMode = "Auto"
            ws.Run("NET START Spooler"),0,True
      End Select
      
      InstallMSI Array("PKG\dotNET30SP2\RGB9RAST_x86.msi", "ARPNOMODIFY=0 ARPNOREPAIR=0")
      
      ws.Run("""" & mypath & "\PKG\dotNET30SP2\XPSEPSC-x86-en-US\update\update.exe"" /quiet /nobackup /norestart"),0,True
      
      InstallMSI Array("PKG\dotNET30SP2\Netfx30a_x86.msi", "ARPNOMODIFY=0 ARPNOREPAIR=0")
      
      ws.Run("""" & mypath & "\WaitNET.exe"" " & txtArg),0,True

      If DisableNag = True Then
         InstallMSI Array("PKG\dotNET35SP1\vs_setup.msi", "TRANSFORMS=""" & mypath & "\PKG\dotNET35SP1\no_firefox_extension.mst"" ARPNOMODIFY=0 ARPNOREPAIR=0")
      Else
         InstallMSI Array("PKG\dotNET35SP1\vs_setup.msi", "ARPNOMODIFY=0 ARPNOREPAIR=0")
      End If

      ws.Run("""" & mypath & "\WaitNET.exe"" " & txtArg),0,True
      
      If Not fs.FileExists(sysroot & "\Microsoft.NET\Framework\v3.5\Windows Presentation Foundation\DotNetAssistantExtension\MicrosoftDotNetFrameworkAssistant.xpi") Then
         fs.CreateTextFile sysroot & "\Microsoft.NET\Framework\v3.5\Windows Presentation Foundation\DotNetAssistantExtension\MicrosoftDotNetFrameworkAssistant.xpi",True
      End If

      Select Case BitsMode
         Case "Disabled"
            ws.Run("NET STOP BITS"),0,True
            ws.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\BITS\Start\",4,"REG_DWORD"
         Case "Manual"
            ws.Run("NET STOP BITS"),0,True
            ws.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\BITS\Start\",3,"REG_DWORD"
         Case "Auto"
      End Select

      Select Case SpoolerMode
         Case "Disabled"
            ws.Run("NET STOP Spooler"),0,True
            ws.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start\",4,"REG_DWORD"
         Case "Manual"
            ws.Run("NET STOP Spooler"),0,True
            ws.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start\",3,"REG_DWORD"
         Case "Auto"
      End Select

      If svcpack Then
         ws.Run("reg.exe add HKLM\SYSTEM\Setup /v SystemSetupInProgress /t REG_DWORD /d 1 /f"),0,True
      End If
      
      ws.Run(Chr(34) & sysroot & "\Microsoft.NET\Framework\v2.0.50727\ngen.exe" & Chr(34) & " executequeueditems"),0,True
      Close NULL
   End If
End Sub

InstallMSI Array("PKG\dotNET20SP2\Netfx20a_x86.msi", "ADDEPLOY=1 ARPNOMODIFY=0 ARPNOREPAIR=0")
ws.Run("WaitNET.exe " & txtArg),0,True
ws.Run(Chr(34) & sysroot & "\Microsoft.NET\Framework\v2.0.50727\ngen.exe" & Chr(34) & " executequeueditems"),0,True
InstallMSI Array("PKG\VJ#20SE\jsredist.msi","ARPNOMODIFY=0 ARPNOREPAIR=0",True)
ws.Run("WaitNET.exe " & txtArg),0,True

If svcpack Then
   If CurrentVersion > "5.0" Then
      ws.Run("reg.exe add HKLM\SYSTEM\Setup /v SystemSetupInProgress /t REG_DWORD /d 1 /f"),0,True
   End If
End If

InstallMSI "PKG\Silverlight\Silverlight.msi"
InstallMSI "PKG\SAPI51\SAPI51.msi"
InstallMSI "PKG\TTSEngine\MSTTSEngine.msi"
InstallMSI "PKG\msxml6\msxml6.msi"
InstallMSI "PKG\Capicom\capicom2.msi"
ws.Run("rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 PKG\DirectX\dx9.inf"),0,True

Dim txtSysFolder, arrOLD, oldfile, arrDLL, dllfile, arrEXE, exefile, arrOCX, ocxfile, arrRegister, registerfile, strLocked, boolLocked
txtSysFolder = ws.ExpandEnvironmentStrings("%systemroot%") & "\system32"
arrOLD = Array("ipy.exe", "ipyw.exe", "IronMath.dll", "IronPython.dll", "python25.dll", "python30.dll", "pythoncom25.dll", "pywintypes25.dll")
arrDLL = Array("atl70.dll", "atl71.dll", "AutoItX3.dll", "dbadapt.dll", "KiXtart.dll", "libeay32.dll", "libmmd.dll", "libssl32.dll", _
   "mfc70.dll", "mfc70CHS.dll", "mfc70CHT.dll", "mfc70DEU.dll", "mfc70ENU.dll", "mfc70ESP.dll", "mfc70FRA.dll", "mfc70ITA.dll", _
   "mfc70JPN.dll", "mfc70KOR.dll", "mfc70u.dll", "mfc71.dll", "mfc71CHS.dll", "mfc71CHT.dll", "mfc71DEU.dll", "mfc71ENU.dll", _
   "mfc71ESP.dll", "mfc71FRA.dll", "mfc71ITA.dll", "mfc71JPN.dll", "mfc71KOR.dll", "mfc71u.dll", "msaddndr.dll", "msbind.dll", _
   "mscdrun.dll", "mscsfdbg.dll", "msdbrpt.dll", "msdbrptr.dll", "mshtmpgd.dll", "mshtmpgr.dll", "msrdo20.dll", "msstdfmt.dll", _
   "msstkprp.dll", "msvci70.dll", "msvcp70.dll", "msvcp71.dll", "msvcr70.dll", "msvcr71.dll", "msvcrt10.dll", "msvcrt-ruby18.dll", _
   "mswcrun.dll", "OpenAL32.dll", "python26.dll", "python31.dll", "simpleaudio.dll", "ssleay32.dll", "vb40016.dll", "vb40032.dll", _
   "vbrun100.dll", "vbrun200.dll", "vbrun300.dll", "wrap_oal.dll")
arrEXE = Array("KiX32.exe", "python.exe", "pythonw.exe", "ruby.exe", "rubyw.exe", "WKiX32.exe")
arrOCX = Array("comct232.ocx", "comct332.ocx", "comctl32.ocx", "comdlg32.ocx", "dbgrid32.ocx", "dblist32.ocx", "mci32.ocx", "msadodc.ocx", _
   "mschrt20.ocx", "mscomct2.ocx", "mscomctl.ocx", "mscomctl32.ocx", "mscomm32.ocx", "msdatgrd.ocx", "msdatlst.ocx", "msdatrep.ocx", _
   "msflxgrd.ocx", "mshflxgd.ocx", "msinet.ocx", "msmapi32.ocx", "msmask32.ocx", "msrdc20.ocx", "mswinsck.ocx", "picclp32.ocx", _
   "richtx32.ocx", "sysinfo.ocx", "tabctl32.ocx", "wbclsdsr.ocx")
arrRegister = Array("AutoItX3.dll", "comct232.ocx", "comct332.ocx", "comctl32.ocx", "comdlg32.ocx", "dbadapt.dll", "dbgrid32.ocx", _
   "dblist32.ocx", "KiXtart.dll", "mci32.ocx", "msaddndr.dll", "msadodc.ocx", "msbind.dll", "mscdrun.dll", "mschrt20.ocx", "mscomct2.ocx", _
   "mscomctl.ocx", "mscomctl32.ocx", "mscomm32.ocx", "msdatgrd.ocx", "msdatlst.ocx", "msdatrep.ocx", "msdbrpt.dll", "msdbrptr.dll", _
   "msflxgrd.ocx", "mshflxgd.ocx", "mshtmpgd.dll", "mshtmpgr.dll", "msinet.ocx", "msmapi32.ocx", "msmask32.ocx", "msrdc20.ocx", _
   "msrdo20.dll", "msstdfmt.dll", "msstkprp.dll", "mswinsck.ocx", "picclp32.ocx", "richtx32.ocx", "sysinfo.ocx", "tabctl32.ocx", "wbclsdsr.ocx")

strLocked = Null
boolLocked = False

For Each dllfile In arrDLL
   If fs.FileExists(txtSysFolder & "\" & dllfile) Then
      Dim a, b
      Set a = fs.GetFile(".\PKG\" & dllfile)
      Set b = fs.GetFile(txtSysFolder & "\" & dllfile)
      If a.DateLastModified > b.DateLastModified Then
         On Error Resume Next
         fs.CopyFile ".\PKG\" & dllfile, txtSysFolder & "\" & dllfile, True
         If Err = 70 Then
            fs.CopyFile ".\PKG\" & dllfile, ws.ExpandEnvironmentStrings("%systemdrive%") & "\" & dllfile, True
            If svcpack = True Then
               ws.Run("pendmove.exe " & ws.ExpandEnvironmentStrings("%systemdrive%") & "\" & dllfile & " " & txtSysFolder & "\" & dllfile),0,True
            Else
               boolLocked = True
               strLocked = strLocked & "\??\%systemdrive%\" & dllfile & "\0!\??\%systemroot%\system32\" & dllfile & "\0"
            End If
         End If
         fs.DeleteFile ".\PKG\" & dllfile, True
      End If
   Else
      fs.MoveFile ".\PKG\" & dllfile, txtSysFolder & "\" & dllfile
   End If
Next

For Each exefile In arrEXE
   If fs.FileExists(txtSysFolder & "\" & exefile) Then
      Dim c, d
      Set c = fs.GetFile(".\PKG\" & exefile)
      Set d = fs.GetFile(txtSysFolder & "\" & exefile)
      If c.DateLastModified > d.DateLastModified Then
         On Error Resume Next
         fs.CopyFile ".\PKG\" & exefile, txtSysFolder & "\" & exefile, True
         If Err = 70 Then
            fs.CopyFile ".\PKG\" & exefile, ws.ExpandEnvironmentStrings("%systemdrive%") & "\" & exefile, True
            If svcpack = True Then
               ws.Run("pendmove.exe " & ws.ExpandEnvironmentStrings("%systemdrive%") & "\" & exefile & " " & txtSysFolder & "\" & exefile),0,True
            Else
               boolLocked = True
               strLocked = strLocked & "\??\%systemdrive%\" & exefile & "\0!\??\%systemroot%\system32\" & exefile & "\0"
            End If
         End If
         fs.DeleteFile ".\PKG\" & exefile, True
      End If
   Else
      fs.MoveFile ".\PKG\" & exefile, txtSysFolder & "\" & exefile
   End If
Next

For Each ocxfile In arrOCX
   If fs.FileExists(txtSysFolder & "\" & ocxfile) Then
      Dim e, f
      Set e = fs.GetFile(".\PKG\" & ocxfile)
      Set f = fs.GetFile(txtSysFolder & "\" & ocxfile)
      If e.DateLastModified > f.DateLastModified Then
         On Error Resume Next
         fs.CopyFile ".\PKG\" & ocxfile, txtSysFolder & "\" & ocxfile, True
         If Err = 70 Then
            fs.CopyFile ".\PKG\" & ocxfile, ws.ExpandEnvironmentStrings("%systemdrive%") & "\" & ocxfile, True
            If svcpack = True Then
               ws.Run("pendmove.exe " & ws.ExpandEnvironmentStrings("%systemdrive%") & "\" & ocxfile & " " & txtSysFolder & "\" & ocxfile),0,True
            Else
               boolLocked = True
               strLocked = strLocked & "\??\%systemdrive%\" & ocxfile & "\0!\??\%systemroot%\system32\" & ocxfile & "\0"
            End If
         End If
         fs.DeleteFile ".\PKG\" & ocxfile, True
      End If
   Else
      fs.MoveFile ".\PKG\" & ocxfile, txtSysFolder & "\" & ocxfile
   End If
Next

For Each registerfile In arrRegister
   If fs.FileExists(txtSysFolder & "\" & registerfile) Then
      ws.Run("regsvr32.exe /s %systemroot%\system32\" & registerfile),0,True
   End If
Next

For Each oldfile In arrOLD
   If fs.FileExists(txtSysFolder & "\" & oldfile) Then
      fs.DeleteFile txtSysFolder & "\" & oldfile, True
   End If
Next

If boolLocked Then
   ws.Run("reg add ""HKLM\SYSTEM\CurrentControlSet\Control\Session Manager"" /v PendingFileRenameOperations /t REG_MULTI_SZ /d " & strLocked & " /f"),0,True
End If
Close NULL
Love Always,
Dumpy Dooby
User avatar
dumpydooby
 
Posts: 280
Joined: Fri Sep 01, 2006 8:22 pm

Re: RogueSpear's Runtime Collection

Postby jfcarbel » Mon Nov 09, 2009 12:19 am

Dumpy Dooby, how does your differ from the user_hidden one here:
viewtopic.php?f=8&t=577

I know that yours installs 2.0 from SVCPACK which differs from user_hidden version which installs all versions at RunOnce.
Is one better then the other, that is, was there a reason you wanted 2.0 to install at SVCPACK?

And is both of yours the most up to date with KB or is one more updated then the other?

Just trying to get a feel for how I should decide to use one over the other. I saw RS comment here about an issue that one user was having with this version and he suggested for them to use the user_hidden one which is built on his but resolves some issues. Does yours resolve these same issues.
jfcarbel
 
Posts: 0
Joined: Wed Sep 12, 2007 2:10 am

Re: RogueSpear's Runtime Collection

Postby dumpydooby » Mon Nov 09, 2009 3:20 am

My package above is an updated version of this:

RogueSpear wrote:RogueSpear's Runtimes V3.5.1
Multimode Installer - 85.5MB
MD5: 2eec01b4ff1aadf1f8655649bc2d3722

Last Updated: 20090910
Installs From: svcpack.inf
Description: The latest version of my eponymous runtimes installer is finally putting to bed the .NET Framework 1.1. This combo installer includes the newest installation routine that I have come up with which kindly allows the .NET Runtime Optimization Service to finish running before continuing on to the next task. And it also includes the latest installation routine for properly installing legacy runtimes, either during setup or on existing installations - including updating those files the OS has a lock on. These are the runtimes that I use on virtually every single install. I have not included some of the more specialized and lesser utilized runtime packages, preferring instead to include those only for installations that truly need them.
What is Included:
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft Visual J# 2.0 Runtimes Second Edition
  • Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package
  • Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package
  • Microsoft MSXML 6 Service Pack 2 (KB954459)
  • Microsoft Silverlight v3.0.40818.0
  • Microsoft Speech API v5.1.4324.0
  • Microsoft Text to Speech Engine v2.0
  • Microsoft CAPICOM 2.1.0.2
  • Microsoft DirectX Redistributable August 2009
  • RogueSpear's Other Runtimes (most recent version)

Again, though, mine also includes Microsoft .NET Framework 3.5 SP1 and 3.0 SP2.
Love Always,
Dumpy Dooby
User avatar
dumpydooby
 
Posts: 280
Joined: Fri Sep 01, 2006 8:22 pm

Re: RogueSpear's Runtime Collection

Postby dumpydooby » Mon Nov 09, 2009 3:23 am

As for the differences in the .NET Framework installers themselves, I believe user_hidden includes MSVCR 2k5 and 2k8 in his .NET Framework installations, whereas the package I posted installs more updated versions separately and the ones normally included with DNFX have been removed.
Love Always,
Dumpy Dooby
User avatar
dumpydooby
 
Posts: 280
Joined: Fri Sep 01, 2006 8:22 pm

Re: RogueSpear's Runtime Collection

Postby kane3162 » Wed Nov 18, 2009 12:17 am

noooo... i hate when this happens... i want RogueSpears installers.... not user_hidden or dumpys(unless its a unified front -see below)... i reformat every other month, and with the exception of app updates and updates to RSRTI ive almost got it down to a science!

but the continual splitting of RogueSpears work is killing me, i liked it when you did the updates yourself RogueSpear, maybe collaboration between you 3 to put out a unified decision on the update packs with the most optimal settings/options would help calm me down but with different people making these its like a spork trying to be more then a spork ( yeah eat that reference why dont you :P LOL )!!!



anyway i know you have said your done with the .net1.1/2 updates and even not doing some of the newer updates and it makes me sad... well i will continue on no matter what but i thought i might voice my... er thoughts on the subject, ill suffer either way but ive used your packs since i discoverd nLite and your packs over at its forums (a while ago i know) and since about 10 months ago have stopped using it and just fresh install XP SP3 followed by your packs then drivers then apps...


FireStorm
kane3162
 
Posts: 3
Joined: Fri Feb 02, 2007 2:28 am

Re: RogueSpear's Runtime Collection

Postby mr_smartepants » Wed Nov 18, 2009 1:43 am

kane3162 wrote: i want RogueSpears installers.... not user_hidden or dumpys

Wow, you sound like a spoiled 3-yr old!
I don't think it's possible for you to be any more ungrateful for the amazing work these guys do. Do you honestly think RogueSpear was put on this Earth just to make addons for your own personal use? :roll:
You should count yourself lucky that others have stepped up and carried on the work at all.
Try to understand in your feeble excuse for a narrow-minded little brain, that the work they do here (and elsewhere) is a direct result of their own job requirements and we are lucky that they choose to share their work with the world.
They are under no obligation to do so!
These guys (and people like them) spend truckloads of their own free time to develop these tools. They do NOT get paid for this work, but do so to make their paying jobs easier or out of the kindness of their hearts.
Either way, you should just say "Thank you" for their contributions and be on your way.
Anything less than that and you are like an ungrateful spoiled 3-yr old screaming for ice cream and stamping their feet in the supermarket. Yes, you know the type, the one you want to smack across the face and then smack the parents for allowing their children to develop like that.

I want to thank everyone here for their contributions. Your work is gratefully received.
:cheers:
Image
Image
OEMSCAN pre-activation addon for OEM XP & 2003
Not all heroes wear capes, some wear Kevlar!
User avatar
mr_smartepants
 
Posts: 49
Joined: Thu Jan 03, 2008 2:57 pm

Re: RogueSpear's Runtime Collection

Postby kane3162 » Fri Nov 20, 2009 3:58 am

1: rage much? (3year old?)
2: read the rest of my post?

While i am using their work my first post still stands (ive linked and said my thanks over at the MSFN), i miss the RS versions, I no longer use runonce or the like since i do a base XP install first then use the installers made (msdn subscription rocks), its totally within my right to voice my view on this subject I do not just have to say "thanks" and then "be on my way", Thanks BUT like i said RS FOREVER (seeing as how ive both been registered here longer and probably used his tools almost from the start i have seen ALOT of developers fork their work, sometimes doing it them-self's or sometimes others picking it up, however over 87% -and this is from my own personal experience- of the time they die out sometime shortly after and that is a TERRIBLE SHAME and a LOSS to EVERYONE)

you sound like an old manager I had... and when the owner thought it was no longer "good enough" and didnt like the "thanks and be on your way" he got "let go"... but i guess never looking for more means being content and you seem content, congratulations, sit back and puff on that Cuban you deserved it



on second thought, to take my previous post as being totally ungrateful you really must have a narrow view on how things are said ("Try to understand in your feeble excuse for a narrow-minded little brain" to use your own words), and that sir sucks for you! additionally its not just "personal use" i point everyone i know who is redoing a system or thinking of it both HERE and to user_hidden/dumpys work as well as RS (i just tell them RS no longer updates packages due to time/money constraints when they DO ask... AND THEY DO), so open your mind a bit and stop thinking everything is all negative and "ungrateful" (ala chill pill?)
kane3162
 
Posts: 3
Joined: Fri Feb 02, 2007 2:28 am

Re: RogueSpear's Runtime Collection

Postby mr_smartepants » Sun Nov 22, 2009 6:10 am

Whatever dude.
You're certainly entitled to your opinions. But your statement trivializes the work done by others and makes them feel unappreciated.

Anyway...
Am I blind or has 2_VC2005SP1VC2008SP1.exe been removed from the first post? :shock:
Image
Image
OEMSCAN pre-activation addon for OEM XP & 2003
Not all heroes wear capes, some wear Kevlar!
User avatar
mr_smartepants
 
Posts: 49
Joined: Thu Jan 03, 2008 2:57 pm

Re: RogueSpear's Runtime Collection

Postby strel » Sat Nov 28, 2009 12:52 am

I'm agree with mr_smartepants, what happenned to 2_VC2005SP1VC2008SP1.exe?
It is a great file.

Edit: I uploaded a copy of 20091027 RogueSpear's Microsoft Visual C++ 2005 SP1 and 2008 SP1 Redistributables Package
strel
 
Posts: 0
Joined: Wed Oct 08, 2008 3:10 am

Re: RogueSpear's Runtime Collection

Postby mr_smartepants » Sat Feb 06, 2010 2:33 am

@RogueSpear, I don't know of you're interested in updating your DirectX.exe runtime installer, but vmanda posted in redxii's thread over at RVM's forums.

DirectX End-User Runtimes (February 2010) 9.28.1886 2/5/2010 104.0 MB 4CF007A355CB5F34A3C5C400113B33C3

New dxwebsetup.exe too.
Image
Image
OEMSCAN pre-activation addon for OEM XP & 2003
Not all heroes wear capes, some wear Kevlar!
User avatar
mr_smartepants
 
Posts: 49
Joined: Thu Jan 03, 2008 2:57 pm

PreviousNext

Return to Application Installer Releases

Who is online

Users browsing this forum: No registered users and 2 guests

cron