[main] Title=VMWare Player / Workstation Description=(PE1x86 only) VMWare Player or Workstation will be added to the project Selected=False Level=5 Version=26 Author=Peter Schlang Date=2009-Feb-13 Download_Level=2 Mandatory=False CertifiedBy=ServerCertified_L Certification=01389c6c9739115b8ae1a4923e233096 Contact=http://www.boot-land.net/forums/index.php?showforum=65 History013=Galapo made some alterations to place script within LiveXP project History014=Galapo made some alterations to build with Workstation History015=Galapo altered %index% to allow for both Player and Workstation files to be placed separately History016=Galapo corrected pCheckBox3 History017=Galapo added option to supply preferences.ini History018=Galapo added option to register DLLs at boot-time rather than build-time History019=Galapo made minor adjustments to paths and interface History020=Galapo fixed WB compatibility History022=Galapo adjusted for new nativeEx project variable %Modelram% History023=Galapo made more adjustments for new nativeEx project variable %Modelram% (or fixed bug introduced in 022) History025=Lancelot hiderun lines fixed History026=Lancelot mainly modelram bugy fixed (Copy-File-Safe - @Application_Data) // attached script fixed // shortcut made with capi // rest is adjustments, cosmetics ;). [Interface] pBevel1=pBevel1,1,12,2,1,553,95 pRadioButton1="VMWare Player 2.0.1 - 2.0.5",1,11,11,21,158,20,False pTextLabel1="Which VMWare product is to be installed?",1,1,12,5,263,18,9,Bold pBevel2=pBevel2,1,12,2,97,553,148 pBevel3=pBevel3,1,12,2,247,553,67 pTextLabel2="Target Drive on PE:",1,1,16,255,182,18,9,Bold pTextLabel4="VMWare Directory:",1,1,16,279,115,18,9,Bold pScrollBox1=X:,1,4,145,254,37,21,B:,C:,D:,E:,F:,G:,H:,I:,J:,K:,L:,M:,N:,O:,Q:,R:,S:,T:,U:,V:,W:,X:,Y:,Z: pTextBox1=,1,0,145,279,174,21,VMWare\Player pTextLabel5="Path to Setup Program",1,1,11,159,154,18,9,Bold pFileBox1=%GlobalTemplates%\apps\VMWare\VMware-workstation-6.0.5-109488.exe,1,13,10,181,489,30,file OpenSourceFilesbutton_Setup="Open Dir",1,8,504,183,46,24,OpenSourceFilesDir_Setup,_OpenSourceFilesDir_Setup_,False pTextLabel6="Path to Install Files (recommended not to change)",1,1,12,100,320,18,9,Bold pFileBox2=%ProjectTemplates%\VMWare,1,13,16,124,534,30,dir pButton1="Extract Files",1,8,461,155,80,25,Build-Files,_Build-Files_,False pCheckBox1="Copy most .DLLs to Player folder",1,3,331,280,177,19,False pRadioButton2="VMWare Workstation 6.0.1 - 6.0.5",1,11,176,21,188,20,True pTextBox2=,1,0,363,71,179,21,License.ws.6.0.200610 pCheckBox2="Copy License from reg key:",1,3,205,72,151,18,False pFileBox3=%GlobalTemplates%\apps\VMWare\WS-lic.reg,1,13,274,41,271,30,file pCheckBox3="Supply License:",1,3,177,45,96,18,True pTextLabel7=OR,1,1,177,72,18,18,8,Normal pTextLabel8="Path to preferences.ini (optional):",1,1,5,217,193,18,8,Bold pFileBox4=%GlobalTemplates%\apps\VMWare\Preferences.ini,1,13,195,212,304,30,file OpenSourceFilesbutton_Preferences="Open Dir",1,8,504,214,46,24,OpenSourceFilesDir_Preferences,_OpenSourceFilesDir_Preferences_,False pCheckBox4="Use Dll init at boot time",1,3,27,52,136,18,True [Verify] Call "Version" ($$$,Build Model,69); If !{%vmCrypto:Main.Selected%} then "VMWAre.Script needs vmCrypro.script selected!"; If !{%[script.project:Variables.ProjectTemplates]\VMWare\FilesP2\VMPlayer.exe%} & !{%[script.project:Variables.ProjectTemplates]\VMWare\FilesWS\VMWare Workstation\vmware.exe%} Then "Before building, you must extract the files from VMWare player setup or WMWare Workstation!"; [variables] %ProgramTitle%=VMWare Player %ProgramEXE%=vmplayer.exe %ProgramFolder%=%pTextBox1% %myTemp%=%ProjectTemp%\%ProgramTitle% %myCache%=%pFileBox2% %lic%=%myTemp%\%ProgramTitle%_lic.Script %auth%=reg.sam1 [process] If,Not,ExistFile,%source_win%\TXTSETUP.SIF,Exit,"VMWarePlayerWorkstation.Script is only designed for PE 1 builds (for now ;))" If,Not,%SourceArch%,Equal,x86,Exit,"VMWarePlayerWorkstation.Script havent designed to be used with PEx64-wow64 .sys etc need to be fixed" Arch,x86 Echo,"Processing %ProgramTitle%..." StrFormat,filename,%PE_Programs%,%ProgFilesDir% //AddVariables,"%projectdir%\script.project","variables" Set,%VM_PE_DRIVE%,%pScrollBox1% Set,%VM_ON_PE%,"%ProgFilesDir%\%pTextBox1%" If,%pRadioButton1%,Equal,True,Set,%Index%,P2 If,%pRadioButton2%,Equal,True,Set,%Index%,WS Set,%VM_Target%,%TargetDir%\%VM_ON_PE% Set,%VM_Install%,%myCache%\Files%Index% If,%pRadioButton1%,Equal,True,Begin Set,%VM_Prog%,"%VM_Install%" Set,%scr%,%ScriptDir%\VMWare_P2_Player.Script.txt End If,%pRadioButton2%,Equal,True,Begin Set,%VM_Prog%,"%VM_Install%\VMware Workstation" Set,%scr%,%ScriptDir%\VMWare_P2_Workstation.Script.txt End Set,%VM_Appdata%,%VM_install%\CommonAppData Set,%VM_Redist%,%VM_install%\System32\Redist\MS\System Set,%VM_WinSys%,%VM_install%\Win\System Set,%VM_WinSys32%,%VM_install%\System32 Set,%VM_Drivers%,%VM_install%\System32\Drivers If,%version%,SMALLER,075,System,RefreshVars IniWrite,%ProjectInfo%,VMWare,VM_PE_DRIVE,%VM_PE_DRIVE% IniWrite,%ProjectInfo%,VMWare,VM_ON_PE,%VM_ON_PE% If,ExistDir,%myTemp%,DirDelete,%myTemp% If,Not,ExistDir,%myTemp%,DirMake,%myTemp% If,Not,ExistDir,%myCache%,DirMake,%myCache% IniRead,%ProjectInfo%,TargetStrings,sDocuments_and_Settings,%Settings% IniRead,%ProjectInfo%,TargetStrings,sDefault_User,%DUser% IniRead,%ProjectInfo%,TargetStrings,sApplication_Data,%AppData% // If,Not,ExistFile,%pFilebox2%\Files%Index%\V2iDiskLib.dll,Run,%ScriptFile%,Build-Files Run,%ScriptFile%,CopyPlayerFiles // Echo,"Copying some supplementary files ..." If,%pCheckBox1%,Equal,True,Run,%ScriptFile%,DLLsToPlayerFolder If,Not,%pCheckBox1%,Equal,True,Run,%ScriptFile%,DLLsToSystemFolder If,Not,ExistFile,%target_sys%\msimg32.dll,CopyOrExpand,%source_win%\msimg32.dll,%target_sys% If,Not,ExistFile,%target_sys%\dciman32.dll,CopyOrExpand,%source_win%\dciman32.dll,%target_sys% If,Not,ExistFile,%target_sys%\ddraw.dll,CopyOrExpand,%source_win%\ddraw.dll,%target_sys% If,Not,ExistFile,%target_sys%\dinput.dll,CopyOrExpand,%source_win%\dinput.dll,%target_sys% If,Not,ExistFile,%target_sys%\dsound.dll,CopyOrExpand,%source_win%\dsound.dll,%target_sys% If,Not,ExistFile,%target_sys%\glu32.dll,CopyOrExpand,%source_win%\glu32.dll,%target_sys% If,Not,ExistFile,%target_sys%\opengl32.dll,CopyOrExpand,%source_win%\opengl32.dll,%target_sys% If,Not,ExistFile,%target_sys%\rasadhlp.dll,CopyOrExpand,%source_win%\rasadhlp.dll,%target_sys% If,Not,ExistFile,%target_sys%\riched20.dll,CopyOrExpand,%source_win%\riched20.dll,%target_sys% If,Not,ExistFile,%target_sys%\shfolder.dll,CopyOrExpand,%source_win%\shfolder.dll,%target_sys% //-- If,Not,ExistFile,%target_sys%\regsvr32.exe,CopyOrExpand,%source_win%\regsvr32.exe,%target_sys% If,Not,ExistFile,%target_sys%\vmnc.dll,FileCopy,%VM_WinSys32%\vmnc.dll,%target_sys% FileCopy,%VM_Drivers%\hcmon.sys,%target_sys%\Drivers FileCopy,%VM_Drivers%\vmparport.sys,%target_sys%\Drivers FileCopy,%VM_Drivers%\vmx86.sys,%target_sys%\Drivers // Echo,"Registering some files ..." If,%pCheckBox4%,Equal,False,Begin Run,%OLESupportScript%,Register-DLL,atl.dll,devmgr.dll,mlang.dll,msvbvm60.dll,mycomput.dll,themeui.dll,comdlg32.ocx,mscomctl.ocx,richtx32.ocx Run,%OLESupportScript%,Install-DLL,mshtml.dll,urlmon.dll End If,%pCheckBox4%,Equal,True,Begin If,Not,ExistFile,%target_sys%\hiderun.exe,FileCopy,%Tools%\%SourceArch%\hiderunEx_%SourceArch%.exe,%target_sys%\hiderun.exe RegHiveLoad,WB-software,%target_sys%\config\software RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Inst_1,"hiderun /w regsvr32.exe /s /i mshtml.dll" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Inst_2,"hiderun /w regsvr32.exe /s /i urlmon.dll" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Reg_1,"hiderun /w regsvr32.exe /s atl.dll" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Reg_2,"hiderun /w regsvr32.exe /s devmgr.dll" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Reg_3,"hiderun /w regsvr32.exe /s mlang.dll" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Reg_4,"hiderun /w regsvr32.exe /s msvbvm60.dll" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Reg_5,"hiderun /w regsvr32.exe /s mycomput.dll" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Reg_6,"hiderun /w regsvr32.exe /s themeui.dll" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Reg_7,"hiderun /w regsvr32.exe /s comdlg32.ocx" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\550,VMWare_Reg_8,"hiderun /w regsvr32.exe /s richtx32.ocx" RegHiveUnLoad,WB-software End // Echo,"Building shortcut(s)" //If,EXISTFILE,%VM_Target%\vmplayer.exe,Run,%BuildModelScript%,Add-Shortcut,"SM/VMWare","%PE_Programs%\%pTextBox1%\vmplayer.exe","VMWare Player","-SW:%VM_PE_DRIVE%\%VM_ON_PE%\bin" //If,EXISTFILE,%VM_Target%\vmware.exe,Run,%BuildModelScript%,Add-Shortcut,"SM/VMWare","%PE_Programs%\%pTextBox1%\vmware.exe","VMWare Workstation","-SW:%VM_PE_DRIVE%\%VM_ON_PE%\bin" If,EXISTFILE,%VM_Target%\vmplayer.exe,Add_Shortcut,StartMenu,VMWare,%PE_Programs%\%pTextBox1%\vmplayer.exe,"VMWare Player",%VM_PE_DRIVE%\%VM_ON_PE%\bin If,EXISTFILE,%VM_Target%\vmware.exe,Add_Shortcut,StartMenu,VMWare,%PE_Programs%\%pTextBox1%\vmware.exe,"VMWare Workstation",%VM_PE_DRIVE%\%VM_ON_PE%\bin // Echo,"Adding VMWare to path ..." RegHiveLoad,WB-Setup,%target_sys%\setupreg.hiv RegWrite,HKLM,0x2,WB-Setup\ControlSet001\Control\Session Manager\Environment,Path,"#$pSystemRoot#$p\System32;#$pSystemRoot#$p;%VM_PE_DRIVE%\%VM_ON_PE%;%VM_PE_DRIVE%\%VM_ON_PE%\bin" RegHiveUnLoad,WB-Setup // Echo,"Running %scr%" If,ExistFile,"%scr%",FileDelete,"%scr%" If,Not,ExistFile,%scr%,ExtractAllFiles,%ScriptFile%,Script,%ScriptDir% TXTReplace,%scr%,"%systemroot%\system32\V2iDiskLib.dll","%PE_Programs%\%pTextBox1%\V2iDiskLib.dll" If,%pCheckBox1%,Equal,True,Run,%ScriptFile%,AlterSharedDLLsPath Run,%scr%,TransReg,%VM_PE_DRIVE%\%VM_ON_PE%,%VM_PE_DRIVE%\%Settings%\%DUser%\%AppData%\VMWare // // for workstations only, for player not needed If,%pRadioButton2%,Equal,True,Begin If,%pCheckBox2%,Equal,True,Begin Echo,"Generating %lic%" Run,%ScriptFile%,Build-Lic Echo,"Running %lic%" Run,%lic%,TransLic End If,%pCheckBox3%,Equal,True,Begin FileCopy,%pFileBox3%,%VM_Target% StrFormat,FILENAME,%pFileBox3%,%WS-Lic% RegHiveLoad,WB-Software,%target_sys%\config\software RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\999,VMWare-WS-Lic,"hiderun /w regedit /s #$q%VM_PE_DRIVE%\%VM_ON_PE%\%WS-Lic%#$q" RegHiveUnLoad,WB-Software End End // Echo,"Writing Registry Entries for Startup Commands ..." If,Not,ExistFile,%target_sys%\hiderun.exe,FileCopy,%Tools%\%SourceArch%\hiderunEx_%SourceArch%.exe,%target_sys%\hiderun.exe RegHiveLoad,WB-Software,%target_sys%\config\software RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\050,050VMware,"hiderun /w regedit /s #$q%VM_PE_DRIVE%\%VM_ON_PE%\%auth%#$q" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\050,052VMware,"hiderun /w #$q%VM_PE_DRIVE%\%VM_ON_PE%\vmstart.cmd#$q" RegWrite,HKLM,0x1,WB-Software\Microsoft\Windows\CurrentVersion\RunOnceEx\050,053VMware,"hiderun /w #$q%VM_PE_DRIVE%\%VM_ON_PE%\vminstall.cmd#$q" RegWrite,HKLM,0x1,"WB-Software\VMware, Inc.\VMnetLib\VMnetConfig\vmnet1",IPSubnetAddress,"192.168.132.0" RegWrite,HKLM,0x4,"WB-Software\VMware, Inc.\VMnetLib\VMnetConfig\vmnet1\Adapter",UseAdapter,1 RegWrite,HKLM,0x4,"WB-Software\VMware, Inc.\VMnetLib\VMnetConfig\vmnet1\Adapter",AdapterInstalled,1 RegWrite,HKLM,0x4,"WB-Software\VMware, Inc.\VMnetLib\VMnetConfig\vmnet1\DHCP",UseDHCP,0 RegWrite,HKLM,0x1,"WB-Software\VMware, Inc.\VMnetLib\VMnetConfig\vmnet8",IPSubnetAddress,"192.168.52.0" RegWrite,HKLM,0x4,"WB-Software\VMware, Inc.\VMnetLib\VMnetConfig\vmnet8\Adapter",UseAdapter,1 RegWrite,HKLM,0x4,"WB-Software\VMware, Inc.\VMnetLib\VMnetConfig\vmnet8\Adapter",AdapterInstalled,1 RegWrite,HKLM,0x4,"WB-Software\VMware, Inc.\VMnetLib\VMnetConfig\vmnet8\DHCP",UseDHCP,0 RegWrite,HKLM,0x4,"WB-Software\VMware, Inc.\VMnetLib\VMnetConfig\vmnet8\NAT",UseNAT,1 RegHiveUnLoad,WB-Software Echo,"Copying startup files" If,Not,EXISTDIR,%Modelram%\%Settings%\%DUser%\%AppData%\VMWare,DirMake,%Modelram%\%Settings%\%DUser%\%AppData%\VMWare ExtractAllFiles,%ScriptFile%,Folder,%VM_Target% ExtractAllFiles,%ScriptFile%,Test,%Modelram% ExtractAllFiles,%ScriptFile%,Ini,%Modelram%\%Settings%\%DUser%\%AppData%\VMWare If,EXISTFILE,%pFileBox4%,FileCopy,%pFileBox4%,%Modelram%\%Settings%\%DUser%\%AppData%\VMWare [CopyPlayerFiles] Echo,"Copying VMWare files" FileCopy,"%VM_install%\Common\VMware\VMware Virtual Image Editing\vielib.dll",%target_sys% Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\*.exe",%VM_ON_PE% Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\*.dat",%VM_ON_PE% Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\*.txt",%VM_ON_PE% Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\*.rtf",%VM_ON_PE% Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\help\*!",%VM_ON_PE%\help Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\bin\*",%VM_ON_PE%\bin Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\ico\*",%VM_ON_PE%\ico //Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\*.dll",I386\System32 Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\*.dll",%VM_ON_PE% Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\*.sys",I386\System32\drivers Run,%BuildModelScript%,Copy-File-Safe,"%VM_Prog%\*.inf",I386\inf //Run,%BuildModelScript%,Copy-File-Safe,"%VM_appdata%\*!",@Application_Data DirCopy,%VM_appdata%\VMware,%Modelram%\%Settings%\%DUser%\%AppData% FileCopy,%VM_Prog%\libeay32.dll,%VM_Target% FileCopy,%VM_Prog%\ssleay32.dll,%VM_Target% FileCopy,%VM_Prog%\vmcryptolib.dll,%VM_Target% FileCopy,%VM_Prog%\libeay32.dll,%VM_Target%\bin FileCopy,%VM_Prog%\ssleay32.dll,%VM_Target%\bin FileCopy,%VM_Prog%\fipsSigs.dat,%target_sys% FileCopy,%VM_Prog%\vmnat.exe,%target_sys% FileCopy,%VM_Prog%\vmnetdhcp.exe,%target_sys% [DLLsToPlayerFolder] If,Not,ExistFile,%target_sys%\comdlg32.ocx,If,Not,ExistFile,%VM_Target%\comdlg32.ocx,FileCopy,%VM_Redist%\comdlg32.ocx,%VM_Target% If,Not,ExistFile,%target_sys%\mscomct2.ocx,If,Not,ExistFile,%VM_Target%\mscomct2.ocx,FileCopy,%VM_Redist%\mscomct2.ocx,%VM_Target% If,Not,ExistFile,%target_sys%\mscomctl.ocx,If,Not,ExistFile,%VM_Target%\mscomctl.ocx,FileCopy,%VM_Redist%\mscomctl.ocx,%VM_Target% If,Not,ExistFile,%target_sys%\msflxgrd.ocx,If,Not,ExistFile,%VM_Target%\msflxgrd.ocx,FileCopy,%VM_Redist%\msflxgrd.ocx,%VM_Target% If,Not,ExistFile,%target_sys%\richtx32.ocx,If,Not,ExistFile,%VM_Target%\richtx32.ocx,FileCopy,%VM_WinSys%\richtx32.ocx,%VM_Target% If,Not,ExistFile,%target_sys%\atl71.dll,If,Not,ExistFile,%VM_Target%\atl71.dll,FileCopy,%VM_WinSys32%\atl71.dll,%VM_Target% If,Not,ExistFile,%target_sys%\mfc71.dll,If,Not,ExistFile,%VM_Target%\mfc71.dll,FileCopy,%VM_WinSys32%\mfc71.dll,%VM_Target% If,Not,ExistFile,%target_sys%\mfc71u.dll,If,Not,ExistFile,%VM_Target%\mfc71u.dll,FileCopy,%VM_WinSys32%\mfc71u.dll,%VM_Target% If,Not,ExistFile,%target_sys%\msvcp60.dll,If,Not,ExistFile,%VM_Target%\msvcp60.dll,FileCopy,%VM_Redist%\msvcp60.dll,%VM_Target% If,Not,ExistFile,%target_sys%\msvcp71.dll,If,Not,ExistFile,%VM_Target%\msvcp71.dll,FileCopy,%VM_WinSys32%\msvcp71.dll,%VM_Target% If,Not,ExistFile,%target_sys%\msvcr71.dll,If,Not,ExistFile,%VM_Target%\msvcr71.dll,FileCopy,%VM_WinSys32%\msvcr71.dll,%VM_Target% [DLLsToSystemFolder] If,Not,ExistFile,%target_sys%\comdlg32.ocx,FileCopy,%VM_Redist%\comdlg32.ocx,%target_sys% If,Not,ExistFile,%target_sys%\mscomct2.ocx,FileCopy,%VM_Redist%\mscomct2.ocx,%target_sys% If,Not,ExistFile,%target_sys%\mscomctl.ocx,FileCopy,%VM_Redist%\mscomctl.ocx,%target_sys% If,Not,ExistFile,%target_sys%\msflxgrd.ocx,FileCopy,%VM_Redist%\msflxgrd.ocx,%target_sys% If,Not,ExistFile,%target_sys%\richtx32.ocx,FileCopy,%VM_WinSys%\richtx32.ocx,%target_sys% If,Not,ExistFile,%target_sys%\atl71.dll,FileCopy,%VM_WinSys32%\atl71.dll,%target_sys% If,Not,ExistFile,%target_sys%\mfc71.dll,FileCopy,%VM_WinSys32%\mfc71.dll,%target_sys% If,Not,ExistFile,%target_sys%\mfc71u.dll,FileCopy,%VM_WinSys32%\mfc71u.dll,%target_sys% If,Not,ExistFile,%target_sys%\msvcp60.dll,FileCopy,%VM_Redist%\msvcp60.dll,%target_sys% If,Not,ExistFile,%target_sys%\msvcp71.dll,FileCopy,%VM_WinSys32%\msvcp71.dll,%target_sys% If,Not,ExistFile,%target_sys%\msvcr71.dll,FileCopy,%VM_WinSys32%\msvcr71.dll,%target_sys% [AlterSharedDLLsPath] If,Not,ExistFile,%target_sys%\comdlg32.ocx,If,ExistFile,%VM_Target%\comdlg32.ocx,TXTReplace,%scr%,%systemroot%\system32\comdlg32.ocx,%PE_Programs%\%pTextBox1%\comdlg32.ocx If,Not,ExistFile,%target_sys%\mscomct2.ocx,If,ExistFile,%VM_Target%\mscomct2.ocx,TXTReplace,%scr%,%systemroot%\system32\mscomct2.ocx,%PE_Programs%\%pTextBox1%\mscomct2.ocx If,Not,ExistFile,%target_sys%\mscomctl.ocx,If,ExistFile,%VM_Target%\mscomctl.ocx,TXTReplace,%scr%,%systemroot%\system32\mscomctl.ocx,%PE_Programs%\%pTextBox1%\mscomctl.ocx If,Not,ExistFile,%target_sys%\msflxgrd.ocx,If,ExistFile,%VM_Target%\msflxgrd.ocx,TXTReplace,%scr%,%systemroot%\system32\msflxgrd.ocx,%PE_Programs%\%pTextBox1%\msflxgrd.ocx If,Not,ExistFile,%target_sys%\richtx32.ocx,If,ExistFile,%VM_Target%\richtx32.ocx,TXTReplace,%scr%,%systemroot%\system32\richtx32.ocx,%PE_Programs%\%pTextBox1%\richtx32.ocx If,Not,ExistFile,%target_sys%\atl71.dll,If,ExistFile,%VM_Target%\atl71.dll,TXTReplace,%scr%,%systemroot%\system32\atl71.dll,%PE_Programs%\%pTextBox1%\atl71.dll If,Not,ExistFile,%target_sys%\mfc71.dll,If,ExistFile,%VM_Target%\mfc71.dll,TXTReplace,%scr%,%systemroot%\system32\mfc71.dll,%PE_Programs%\%pTextBox1%\mfc71.dll If,Not,ExistFile,%target_sys%\mfc71u.dll,If,ExistFile,%VM_Target%\mfc71u.dll,TXTReplace,%scr%,%systemroot%\system32\mfc71u.dll,%PE_Programs%\%pTextBox1%\mfc71u.dll If,Not,ExistFile,%target_sys%\msvcp60.dll,If,ExistFile,%VM_Target%\msvcp60.dll,TXTReplace,%scr%,%systemroot%\system32\msvcp60.dll,%PE_Programs%\%pTextBox1%\msvcp60.dll If,Not,ExistFile,%target_sys%\msvcp71.dll,If,ExistFile,%VM_Target%\msvcp71.dll,TXTReplace,%scr%,%systemroot%\system32\msvcp71.dll,%PE_Programs%\%pTextBox1%\msvcp71.dll If,Not,ExistFile,%target_sys%\msvcr71.dll,If,ExistFile,%VM_Target%\msvcr71.dll,TXTReplace,%scr%,%systemroot%\system32\msvcr71.dll,%PE_Programs%\%pTextBox1%\msvcr71.dll [Build-Lic] Set,%cnt%,-1 Run,%ScriptFile%,Transfer-Reg,"HKEY_LOCAL_MACHINE\Software\VMware#$c Inc.\VMware Workstation\Dormant" Run,%ScriptFile%,Transfer-Reg,"HKEY_LOCAL_MACHINE\Software\VMware#$c Inc.\VMware Workstation\%pTextBox2%" Echo,"Generating %lic%" ShellExecute,Hide,%Tools%\reg2WBSprg.exe,"#$q-i%myTemp%\%ProgramTitle%_0.reg#$q #$q-i%myTemp%\%ProgramTitle%_1.reg#$q #$q-O%lic%#$q -RTransLic -E" [Transfer-Reg] StrFormat,Inc,%cnt%,1 Set,%reg%,%myTemp%\%ProgramTitle%_%cnt%.reg If,%version%,SMALLER,075,System,RefreshVars Echo,"Exporting #1 to %reg%" ShellExecute,Hide,regedit.exe,"/e #$q%reg%#$q #$q#1#$q" [Build-Files] Echo,"Extracting Install Files ..." If,%pRadioButton1%,Equal,True,Set,%Index%,P2 If,%pRadioButton2%,Equal,True,Set,%Index%,WS //Message,"Extracting install files needs a long time w/o any visible change.#$xDepending on your PC that may be 5 minutes or more.#$xWhen the task is done, a new message box will tell this.",Information If,ExistDir,%pFileBox2%\Files%Index%,DirDelete,%pFileBox2%\Files%Index% DirMake,%pFileBox2%\Files%Index% //ShellExecute,Open,%pFileBox1%,"/a /s /v#$q /qn TARGETDIR=#$q#$q%pFileBox2%\Files%Index%#$q#$q#$q" //ShellExecute,Open,%pFileBox1%,"/a /v#$q /qb TARGETDIR=#$q#$q%pFileBox2%\Files%Index%#$q#$q#$q" StrFormat,FILENAME,%pFileBox1%,%pFileBox1filename% StrFormat,Path,%pFileBox1%,%pFileBox1path% StrFormat,SHORTPATH,%pFileBox1path%,%pFileBox1pathShort% ShellExecute,Open,%pFileBox1pathShort%\%pFileBox1filename%,"/a /v#$q /qb TARGETDIR=#$q#$q%pFileBox2%\Files%Index%#$q#$q#$q" //Altered by Galapo for compatibility with converter 2007-Dec-19 ->> FileCopy,%pFileBox2%\Files%Index%\System32\V2iDiskLib.dll,%pFileBox2%\Files%Index% FileDelete,%pFileBox2%\Files%Index%\System32\V2iDiskLib.dll // <<- //Message,"Extracting install files done",Information [OpenSourceFilesDir_Setup] If,%pFileBox1%,Equal,"",Exit,"No Directory Specified" StrFormat,path,%pFileBox1%,%pFileBox1path% If,Not,ExistDir,%pFileBox1path%,DirMake,%pFileBox1path% System,FILEREDIRECT,OFF ShellExecuteEx,Open,explorer.exe,/e#$c#$q%pFileBox1path%#$q,%pFileBox1path% System,FILEREDIRECT,ON [OpenSourceFilesDir_Preferences] If,%pFileBox4%,Equal,"",Exit,"No Directory Specified" StrFormat,path,%pFileBox4%,%pFileBox4path% If,Not,ExistDir,%pFileBox4path%,DirMake,%pFileBox4path% System,FILEREDIRECT,OFF ShellExecuteEx,Open,explorer.exe,/e#$c#$q%pFileBox4path%#$q,%pFileBox4path% System,FILEREDIRECT,ON [EncodedFolders] Ini Script Test Folder [Folder] vmstart.cmd=126bytes,168bytes vminstall.cmd=152bytes,203bytes reg.sam1=168bytes,224bytes [AuthorEncoded] vmplayer.ico=2Kb,3Kb Logo=vmplayer.ico [EncodedFile-Folder-vmstart.cmd] lines=0 0=eJzLSy1RKC5JLCpRyEjOzc/j5cqDC5TlVliYIQuE+QLZpcWpRZlpGMJORZkp6am8XABzbhu+eJzjLsstLkksKtFLzk1hGAUjDgRAaTMc8lsseHkZmACnkwYNKn4togEAAAACAAAAJAAAADYAAAAAAAAAAQAAAAAAAAAAAAAA [EncodedFile-Folder-vminstall.cmd] lines=0 0=eJwLSk0vLisyNtJLrUhVKMtNLChITkvXS8nJUdAv5uUKwpAtTsnGJZuSlJyfi0syoxyPuXmpJU5FmSnpqTgUZKbmZCbB5Xi5AMCDO8R4nOMty83MKy5JzMnRS85NYRgFIwxshdK+OORFtpRkMDABAGVBB/JtgxvyAQAAAAIAAAAnAAAATQAAAAAAAAABAAAAAAAAAAAAAAA [EncodedFile-Test-test.vmx] lines=0 0=eJydkD9PwzAQxXekfodTd6xA0iYLUwViKUi0wFg5ttOe6vgs+1xaPj1OAKlIndhO7/3u3R9FrsOtOJgQkRzcwbSZTq4OGDhJ+/h+bsyzoTF6K09PsjeDtESHsDaR4W2Z3W3K5fNqcD7QHb0PlNXe9BE/zW/25CqqiIXwwUTjeJA7aaPJVortJTlScvqS0Vny/nQxKo8lh0xho8hxICsywwEVb1qp9pooDPj65fV+pM2RjdNGL8Z/PKAd9+XcIw79sfvzk3yWTooX1HvJ2KJFPg30jiIbnVEmslEkvw1SG+HJohqBXrqcMM5LCbWwpHLA93dnc6g0lCUULeS6mUN9C7W+rkuoKigbqG6gKaBWUMxAldOfiBYp/q9d7Yzae0I3XLhiyecXx5iJLwaeo2J4nOMoSS0u0SvLrWAYBSMRyDBBaD1G7PL1+v8OMDABACfbBg2XF57DAQAAAAIAAAAkAAAALgEAAAAAAAABAAAAAAAAAAAAAAA [Test] test.vmx=374bytes,499bytes [Script] VMWare_P2_Workstation.Script.txt=5078,6771 VMWare_P2_Player.Script.txt=5026,6702 [EncodedFile-AuthorEncoded-vmplayer.ico] lines=0 0=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 [Ini] Config.ini=231bytes,308bytes Preferences.ini=303,404 [EncodedFile-Ini-Config.ini] lines=0 0=eJxtz7EOgjAUheHdxHcgPECDD+DgIBMYA+p+aY/SyG1JW4jw9AITJMzfP5zjZQ0lGCxaX5ODgKGqQXSO4vSSldf4eGgd3j3/ROdRQFpmGAWVWfmFysGlHpf8UTzXNWvz4onvMsx6SpIFtXU6DOLjqKqgZjHWMTVr7MweM2mTzzvJBU1NRuNQUr9ZupMU8MG63Wr6cyOGSvX27x/JhFpleJzjcs7PS8tM18vMy2QYBSMPCDNC6Pk45CM09OQZmAAzvgVRazNm0wEAAAACAAAAJAAAAJ8AAAAAAAAAAQAAAAAAAAAAAAAA [EncodedFile-Folder-reg.sam1] lines=0 0=eJwLcnV3dfEMMeHl4uWK9vB2jYz38Xd29In3dXT28PRzjQl29AVjl/zcxMy84hjH5OT80rySGMeczMTi1OIYv8RcIBkfX5ZbnliUGh8fS6pBocWpRRjGlAIFoWYBAEhvNYN4nOMoSk3XK07MNWQYBSMRLITSSTjkzRjcLjMwAQBYrAU7a3mHbgEAAAACAAAAIgAAAGIAAAAAAAAAAQAAAAAAAAAAAAAA [EncodedFile-Ini-Preferences.ini] lines=0 0=eJx10E1OwzAQBeA9EneIfACrqaoqXbDoIl2VtqIU1hNnIqz6Z+SMCdweOwgU1LAc+fObp6GAncRoQC4kEB3AYvFQiJfHAQIWJwOfGMT9HU1YE7VpD9E2GDItF5tVVSUzVeVM2KsP156BtXfir/0/ccDmQi0wSvWG6rqHnkdRJrFcVuvNT9K7pbGrxA/NadqqvCdb8gMG33U3UnnX6WCPrk5fsnx+utQ36rfB0Z0ZAkfKdLfdn+u5hicM2reZWHARjJgKdNAYbKcB4zLWJPu58PE1FVFo0bFkT9/3EV/gios1eJzjDyhKTUstSs1LTi3Wy8zLZBgFIwpsZ4TQD3HIx8i+CWFgAgDQjwlER3yAJwEAAAACAAAAKgAAAOEAAAAAAAAAAQAAAAAAAAAAAAAA [EncodedFile-Script-VMWare_P2_Workstation.Script.txt] lines=1 0=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 1=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 [EncodedFile-Script-VMWare_P2_Player.Script.txt] lines=1 0=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 1=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