I made a AutoIt version of the Portable packager originally done by lvqcl.
http://www.mediafire.com/?28zjzmm0wjgc1qg
On Vista & Win7 systems will likely have to run it as Admin.
Now this has a few perks over the batch script:
Try's to run installed 7-zip if possible automatically, followed by in folder 7-zip...if all else fails it asks you to locate 7-zip.
Try's to run in folder Installer if possible, failing that it'll ask you to browse to your preferred installer.
Try's to run more or less silently if possible, with only an icon displayed in the SystemTray till the completed dialog pops up.
These are very minor improvements over the original batch script...so no need to replace it, unless your just curious.
Source:
Dim $Installers[3] = [ 'iTunes64Setup.exe' , 'iTunesSetup.exe' , 'QuickTimeInstaller.exe' ]
; Handle 7-zip
If FileExists( @ScriptDir & '\7z.exe' ) Then
$Path_7zip = @ScriptDir
Else
$Path_7zip = RegRead( 'HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip', 'Path' )
If $Path_7zip = '' OR FileExists( $Path_7zip & '\7z.exe' ) = 0 Then
While 1
$7zip = FileOpenDialog( 'Select 7-zip Executable.' , '' , 'Executables (*.exe)' , 1 + 4 )
If @Error Then
MsgBox( 4096 , 'Error:' , 'No Executable Chosen.' )
Exit
Else
$Path_7zip = StringLeft( $7zip , StringInStr ( $7zip , '\' , 0 , -1 ) - 1 )
If FileExists( $Path_7zip & '\7z.exe' ) Then ExitLoop
MsgBox( 4096 , 'Error:' , '7z.exe Not Present.' )
EndIf
WEnd
EndIf
EndIf
; Handle Installers
$Installer = ''
For $Element In $Installers
If FileExists( @ScriptDir & '\' & $Element ) Then
$Installer = @ScriptDir & '\' & $Element
ExitLoop
EndIf
Next
If $Installer = '' Then
While 1
$Installer = FileOpenDialog( 'Select iTunes or QuickTime Installer.' , '' , 'Executables (*.exe)' , 1 + 4 )
If @Error Then
MsgBox( 4096 , 'Error:' , 'No Installer Chosen.' )
Exit
Else
If FileExists( $Installer ) Then ExitLoop
EndIf
WEnd
EndIf
; Start Extracting Files
RunWait( @ComSpec & ' /c 7z.exe e -y -o"' & @ScriptDir & '\Temp\" "' & $Installer & '" AppleApplicationSupport.msi' , $Path_7zip , @SW_HIDE )
If NOT FileExists( @ScriptDir & '\Temp\AppleApplicationSupport.msi' ) Then
MsgBox( 4096 , 'Error:' , 'Installer Does Not Contain' & @LF & 'AppleApplicationSupport.msi' & @LF & 'Exiting...' )
DirRemove( @ScriptDir & '\Temp\' , 1 )
Exit
EndIf
$Packaged = 'Qaac'
RunWait( @ComSpec & ' /c 7z.exe e -y -o"' & @ScriptDir & '\Temp\" "' & @ScriptDir & '\Temp\AppleApplicationSupport.msi"' , $Path_7zip , @SW_HIDE )
FileMove( @ScriptDir & '\Temp\ASL.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\CoreAudioToolbox.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\CoreFoundation.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\icudt46.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\libicuin.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\libicuuc.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\icudt40.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\icuin40.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\icuuc40.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\libdispatch.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\objc.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\pthreadVC2.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\msvcp80.dll.*' , @ScriptDir & '\QTfiles\Microsoft.VC80.CRT\msvcp80.dll' , 9 )
FileMove( @ScriptDir & '\Temp\msvcr80.dll.*' , @ScriptDir & '\QTfiles\Microsoft.VC80.CRT\msvcr80.dll' , 9 )
FileMove( @ScriptDir & '\Temp\manifest.*' , @ScriptDir & '\QTfiles\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest' , 9 )
FileDelete( @ScriptDir & '\Temp\' )
RunWait( @ComSpec & ' /c 7z.exe e -y -o"' & @ScriptDir & '\Temp\" "' & $Installer & '" QuickTime.msi' , $Path_7zip , @SW_HIDE )
If FileExists( @ScriptDir & '\Temp\QuickTime.msi' ) Then
RunWait( @ComSpec & ' /c 7z.exe e -y -o"' & @ScriptDir & '\Temp\" "' & @ScriptDir & '\Temp\QuickTime.msi"' , $Path_7zip , @SW_HIDE )
FileMove( @ScriptDir & '\Temp\QuickTime.qts' , @ScriptDir & '\QTfiles\QuickTime.qts' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_QuickTime.dll' , @ScriptDir & '\QTfiles\QuickTime.Resources\QuickTime.dll' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_QuickTime.qtr' , @ScriptDir & '\QTfiles\QuickTime.Resources\QuickTime.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_QuickTime.qtxs' , @ScriptDir & '\QTfiles\QuickTime.Resources\QuickTime.qtxs' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_en.lproj_QuickTimeLocalized.dll' , @ScriptDir & '\QTfiles\QuickTime.Resources\en.lproj\QuickTimeLocalized.dll' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_en.lproj_QuickTimeLocalized.qtr' , @ScriptDir & '\QTfiles\QuickTime.Resources\en.lproj\QuickTimeLocalized.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAudioSupport.qtx' , @ScriptDir & '\QTfiles\QuickTimeAudioSupport.qtx' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAudioSupport.Resources_QuickTimeAudioSupport.qtr' , @ScriptDir & '\QTfiles\QuickTimeAudioSupport.Resources\QuickTimeAudioSupport.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAudioSupport.Resources_en.lproj_QuickTimeAudioSupportLocalized.dll' , @ScriptDir & '\QTfiles\QuickTimeAudioSupport.Resources\en.lproj\QuickTimeAudioSupportLocalized.dll' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAudioSupport.Resources_en.lproj_QuickTimeAudioSupportLocalized.qtr' , @ScriptDir & '\QTfiles\QuickTimeAudioSupport.Resources\en.lproj\QuickTimeAudioSupportLocalized.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAuthoring.qtx' , @ScriptDir & '\QTfiles\QuickTimeAuthoring.qtx' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAuthoring.Resources_QuickTimeAuthoring.qtr' , @ScriptDir & '\QTfiles\QuickTimeAuthoring.Resources\QuickTimeAuthoring.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAuthoring.Resources_en.lproj_QuickTimeAuthoringLocalized.dll' , @ScriptDir & '\QTfiles\QuickTimeAuthoring.Resources\en.lproj\QuickTimeAuthoringLocalized.dll' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAuthoring.Resources_en.lproj_QuickTimeAuthoringLocalized.qtr' , @ScriptDir & '\QTfiles\QuickTimeAuthoring.Resources\en.lproj\QuickTimeAuthoringLocalized.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeMPEG4Authoring.qtx' , @ScriptDir & '\QTfiles\QuickTimeMPEG4Authoring.qtx' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeMPEG4Authoring.Resources_QuickTimeMPEG4Authoring.qtr' , @ScriptDir & '\QTfiles\QuickTimeMPEG4Authoring.Resources\QuickTimeMPEG4Authoring.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeMPEG4Authoring.Resources_en.lproj_QuickTimeMPEG4AuthoringLocalized.qtr' , @ScriptDir & '\QTfiles\QuickTimeMPEG4Authoring.Resources\en.lproj\QuickTimeMPEG4AuthoringLocalized.qtr' , 9 )
$Packaged = 'Qaac & QTaacEnc'
EndIf
DirRemove( @ScriptDir & '\Temp\' , 1 )
MsgBox( 0 , 'Finished' , 'All files Processed.' & @LF & @LF & 'Package Compatable with ' & $Packaged )