Leaderboard
Popular Content
Showing content with the highest reputation on 12/26/2013 in all areas
-
About: This is the business version of Skype MSI so by default it has no junk! Tweaked: Shortcut moved out of sub folder into All Programs, Run on Windows startup removed, Run after standard GUI install removed Differences between Skype installers: VBS Editor Script Option Explicit Dim ws, installer, fs, db, view, record, x Set ws = WScript.CreateObject("WScript.Shell") Set fs = CreateObject("Scripting.FileSystemObject") Set installer = WScript.CreateObject("WindowsInstaller.Installer") If WScript.Arguments.Count <> 0 Then For each x in WScript.Arguments ProcessMSI x Next Else If fs.FileExists("SkypeSetup.msi") Then ProcessMSI "SkypeSetup.msi" End If '********************************************************************** '** Function; Query MSI database ** '********************************************************************** Function QueryDatabase(arrOpts) On Error Resume Next Dim query, file, binary : binary = false If LCase(TypeName(arrOpts)) = "string" Then query = arrOpts Else If fs.FileExists(arrOpts(0)) Then file = arrOpts(0) query = arrOpts(1) Else query = arrOpts(0) file = arrOpts(1) End If binary = true End If WScript.Echo query If binary Then Set record = installer.CreateRecord(1) record.SetStream 1, file End If Set view = db.OpenView (query) : CheckError If binary Then view.Execute record : CheckError Else view.Execute : CheckError End If view.close Set view = nothing If binary Then Set record = nothing binary = false db.commit : CheckError End Function '********************************************************************** '** Subroutine; Check errors in most recently executed MSI command ** '********************************************************************** Sub CheckError Dim message, errRec If Err = 0 Then Exit Sub message = Err.Source & " " & Hex(Err) & ": " & Err.Description If Not installer Is Nothing Then Set errRec = installer.LastErrorRecord If Not errRec Is Nothing Then message = message & vbNewLine & errRec.FormatText End If Wscript.Echo "" : Wscript.Echo message : Wscript.Echo "" Wscript.Quit 2 End Sub '********************************************************************** '** Function; Push changes to MSI ** '********************************************************************** Function ProcessMSI(file) Set db = installer.OpenDatabase(file, 1) On Error Resume Next QueryDatabase("DELETE FROM `AdminExecuteSequence` WHERE `Action` = 'SystemFolder_x86_VC.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `AdminUISequence` WHERE `Action` = 'SystemFolder_x86_VC.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `AdvtExecuteSequence` WHERE `Action` = 'SystemFolder_x86_VC.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `Component` WHERE `Directory_` = 'SystemFolder_x86_VC.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `Component` WHERE `Directory_` = 'UpdaterFolder'") QueryDatabase("DELETE FROM `CustomAction` WHERE `Action` = 'SkypeStart1'") QueryDatabase("DELETE FROM `CustomAction` WHERE `Action` = 'SkypeStart2'") QueryDatabase("DELETE FROM `CustomAction` WHERE `Action` = 'SkypeUpdaterCleanup'") QueryDatabase("DELETE FROM `CustomAction` WHERE `Action` = 'SkypeUpdaterConfig'") QueryDatabase("DELETE FROM `CustomAction` WHERE `Action` = 'SystemFolder_x86_VC.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `Directory` WHERE `Directory` = 'SystemFolder'") QueryDatabase("DELETE FROM `Directory` WHERE `Directory` = 'SystemFolder_x86_VC.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `Directory` WHERE `Directory` = 'UpdaterFolder'") QueryDatabase("DELETE FROM `Feature` WHERE `Feature` = 'Updater'") QueryDatabase("DELETE FROM `FeatureComponents` WHERE `Component_` = 'C_CENTRAL_msvcp120_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `FeatureComponents` WHERE `Component_` = 'C_CENTRAL_msvcr120_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `FeatureComponents` WHERE `Component_` = 'C_CENTRAL_vccorlib120_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `FeatureComponents` WHERE `Feature_` = 'Updater'") QueryDatabase("DELETE FROM `File` WHERE `Component_` = 'C_CENTRAL_msvcp120_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `File` WHERE `Component_` = 'C_CENTRAL_msvcr120_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `File` WHERE `Component_` = 'C_CENTRAL_vccorlib120_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `File` WHERE `Component_` = 'SkypeUpdater'") QueryDatabase("DELETE FROM `InstallExecuteSequence` WHERE `Action` = 'DeleteServices'") QueryDatabase("DELETE FROM `InstallExecuteSequence` WHERE `Action` = 'InstallServices'") QueryDatabase("DELETE FROM `InstallExecuteSequence` WHERE `Action` = 'SkypeUpdaterCleanup'") QueryDatabase("DELETE FROM `InstallExecuteSequence` WHERE `Action` = 'SkypeUpdaterConfig'") QueryDatabase("DELETE FROM `InstallExecuteSequence` WHERE `Action` = 'StartServices'") QueryDatabase("DELETE FROM `InstallExecuteSequence` WHERE `Action` = 'StopServices'") QueryDatabase("DELETE FROM `InstallExecuteSequence` WHERE `Action` = 'SystemFolder_x86_VC.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `InstallUISequence` WHERE `Action` = 'SystemFolder_x86_VC.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `InstallExecuteSequence` WHERE `Action` = 'SkypeStart1'") QueryDatabase("DELETE FROM `InstallExecuteSequence` WHERE `Action` = 'SkypeStart2'") QueryDatabase("DELETE FROM `ModuleComponents` WHERE `Component` = 'C_CENTRAL_msvcp120_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `ModuleComponents` WHERE `Component` = 'C_CENTRAL_msvcr120_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `ModuleComponents` WHERE `Component` = 'C_CENTRAL_vccorlib120_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `ModuleSignature` WHERE `ModuleID` = 'Microsoft_VC120_CRT_x86.194841A2_D0F2_3B96_9F71_05BA91BEA0FA'") QueryDatabase("DELETE FROM `MsiShortcutProperty` WHERE `Shortcut_` = 'SkypeDesktopShortcut'") QueryDatabase("DELETE FROM `Property` WHERE `Value` = 'DirectoryTable'") QueryDatabase("DELETE FROM `Registry` WHERE `Component_` = 'SkypeUpdater'") ' QueryDatabase("DELETE FROM `Registry` WHERE `Key` = 'Software\Microsoft\Windows\CurrentVersion\Run'") ' QueryDatabase("DELETE FROM `ServiceControl`") ' QueryDatabase("DELETE FROM `ServiceInstall`") QueryDatabase("DELETE FROM `Shortcut` WHERE `Shortcut` = 'SkypeDesktopShortcut'") QueryDatabase("INSERT INTO `Component` (`Component`,`ComponentId`,`Directory_`,`Attributes`,`Condition`,`KeyPath`) VALUES ('SkypeRegistryRun','{7D53301D-E4F0-403A-9A1C-876F1544939E}','PhoneFolder','4','RUN = 1','reg08D3E7E5CD85CB55680CCDE42A2E2625')") QueryDatabase("INSERT INTO `Control` (`Dialog_`,`Control`,`Type`,`X`,`Y`,`Width`,`Height`,`Attributes`,`Property`,`Text`,`Control_Next`) VALUES ('InstallDirDlg','Run','CheckBox','20','140','370','18','19','RUN','&Start Skype when I start Windows','Next')") QueryDatabase("INSERT INTO `FeatureComponents` (`Feature_`,`Component_`) VALUES ('Phone','SkypeRegistryRun')") QueryDatabase("INSERT INTO `Property` (`Property`,`Value`) VALUES ('LicenseAccepted','1')") QueryDatabase("UPDATE `Shortcut` SET Directory_ = 'ProgramMenuFolder' WHERE `Directory_` = 'ProgramMenuDir'") QueryDatabase("UPDATE `Registry` SET Component_ = 'SkypeRegistryRun' WHERE `Registry` = 'reg08D3E7E5CD85CB55680CCDE42A2E2625'") QueryDatabase("UPDATE `Control` SET Control_Next = 'Run' WHERE `Control` = 'ChangeFolder'") Set db = nothing End Function1 point
-
Major update (v6.1.1.1031) and my final update for this addon. This new addon structure allows end user to self-update easily when new foxit reader version is available. The main setup is now a msi file. At this moment (or in near future), you can get the msi file from http://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/win/6.x/ http://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/win/6.x/6.1/enu/ When new version comes out, just change the msi file name accordingly & modify slightly the winrar sfx comment file. And you are good to go. I have retain language feature as usual. So only your needed lang is installed. Rest are deleted. Minor registry tweaks are included to made it look 'good' on first launch. -Open program in max view mode -user changable for skin (Set to default= blue skin) Now includes Foxit PDF virtual printer Thanks to luis for the language test. Feel free to continue your Spanish update for this addon if you wish. Tested okay in VM for XP & Win7 x86 only. Lastly, uninstall any existing copy of my addon before installing this. Cheers1 point