Difference between revisions of "Skype"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
(Skype 7.33 MSI)
(Skype 7.34 MSI)
Line 78: Line 78:
 
Note, though, that the Win32_Product WMI class has serious defects which mean that using <code>wmic product</code> [https://support.microsoft.com/en-us/kb/974524 is a bad idea] [http://blogs.technet.com/b/jchalfant/archive/2014/05/13/uninstalling-all-previous-versions-of-java-runtime-environment-using-application-supersedence-in-configuration-manager.aspx especially if you also have Java] on the computer.
 
Note, though, that the Win32_Product WMI class has serious defects which mean that using <code>wmic product</code> [https://support.microsoft.com/en-us/kb/974524 is a bad idea] [http://blogs.technet.com/b/jchalfant/archive/2014/05/13/uninstalling-all-previous-versions-of-java-runtime-environment-using-application-supersedence-in-configuration-manager.aspx especially if you also have Java] on the computer.
  
==Skype 7.33 MSI==
+
==Skype 7.34 MSI==
Skype 7.33.104 is the current version as of end-Feb 2017. This applies to 32-bit and 64-bit installations of Skype.
+
Skype 7.34.104 is the current version as of end-March 2017. This applies to 32-bit and 64-bit installations of Skype.
 
<source lang="xml">
 
<source lang="xml">
 
<package
 
<package
Line 87: Line 87:
 
   
 
   
 
   <!-- <variable name="SOFTWARE" value="\\SERVERIP\WPKG_SHARE\INSTALL_SHARE" /> -->
 
   <!-- <variable name="SOFTWARE" value="\\SERVERIP\WPKG_SHARE\INSTALL_SHARE" /> -->
   <variable name="version" value="7.33.104" />
+
   <variable name="version" value="7.34.102" />
   <variable name="exeversion" value="7.33.32.104" />
+
   <variable name="exeversion" value="7.34.32.102" />
  
 
   <!-- PathFinder -->
 
   <!-- PathFinder -->

Revision as of 09:02, 29 March 2017

Skype, available from http://www.skype.com, is a software application that allows users to make voice calls over the Internet. Calls to other users within the Skype service are free, while calls to both traditional landline telephones and mobile phones can be made for a fee using a debit-based user account system. Skype has also become popular for its additional features which include instant messaging, file transfer, and video conferencing.

Skype 5.8 introduced an auto updater service, SkypeUpdate. Skype 5.10 or 6.0 removed that and instead the updates (from 5.10 onwards) were via Windows Update [1] (Skype 5.10 from Windows Update [2]) But this has now been pulled by Microsoft ("DisableVersionCheckPolicy only applies to Skype application. Microsoft remove Skype from WSUS." - [3]. Skype 6.0 removes the Skype auto updater Service.

Direct Downloadlinks


Skype (Personal Version) (EXE installer)

Skype (Personal Version) 5.5

This is a silent installer for Skype version 5.5.

<package id="skype" name="Skype" revision="5.5" priority="10" reboot="false">
        <variable name="REVISION" value="5.5"/>

        <check type="uninstall" condition="exists" path="Skypeâ„¢ %REVISION%"/>

        <install cmd="%SOFTWARE%\Skype\SkypeSetupFull_%REVISION%.exe /VERYSILENT /nogoogle"/>

        <upgrade cmd="%SOFTWARE%\Skype\SkypeSetupFull_%REVISION%.exe /VERYSILENT /nogoogle"/>
</package>


Skype (Personal Version) 4 and 5

This is a silent installer for Skype versions 4 and 5.

<package
        id="skype"
        name="Skype"
        revision="1"
        reboot="false"
        priority="10">

        <check type="file" condition="exists" path="%PROGRAMFILES%\Skype\Phone\unins000.exe" />

        <install cmd='%SOFTWARE%\Skype\SkypeSetup.exe /VERYSILENT' />

        <upgrade cmd='%SOFTWARE%\Skype\SkypeSetup.exe /VERYSILENT' />

        <remove cmd='%PROGRAMFILES%\Skype\Phone\unins000.exe /SILENT' />
</package>

Skype - MSI installer

If you prefer to work with MSI files, Skype still offers an MSI installer. It used to be called Skype for Business and offered from the business download page, but Lync is now called Skype for Business and the old "Skype for Business" is just the Skype MSI installer. The MSI is still available as a direct download from http://www.skype.com/go/getskype-msi.

The Skype IT Administrator's Guide, available from http://www.skype.com/go/administrators.guide (but for Skype 4.2), includes a table of registry keys for controlling policies such as automatic updates and becoming a supernode.

When using the MSI installer, you may get an MSI error 1638 when doing a minor version upgrade (say from 5.0.152 to 5.0.156) (though this doesn't happen upgrading from for example 6.0.0.120 to 6.0.0.126), however since the product code doesn't change between minor versions, you can get around this by uninstalling based on the product code first, before running the normal installer like this:

<!-- 5.0 product code -->
<upgrade cmd='msiexec /qn /x{9C538746-C2DC-40FC-B1FB-D4EA7966ABEB}'>
  <exit code='any' />
</upgrade>
<!-- 5.9 and above product code -->
<upgrade cmd='msiexec /qn /x {1845470B-EB14-4ABC-835B-E36C693DC07D}'>
  <exit code='any' />
</upgrade>

A somewhat aggressive alternative that will remove all installed versions of Skype:

<remove cmd="wmic product where &quot;name like 'Skype%'&quot; call uninstall /nointeractive" />

Note, though, that the Win32_Product WMI class has serious defects which mean that using wmic product is a bad idea especially if you also have Java on the computer.

Skype 7.34 MSI

Skype 7.34.104 is the current version as of end-March 2017. This applies to 32-bit and 64-bit installations of Skype.

<package
  id="skype"
  name="Skype_MSI" <!-- Download recent Skype MSI package: http://www.skype.com/go/getskype-msi -->
  revision="%version%">
 
  <!-- <variable name="SOFTWARE" value="\\SERVERIP\WPKG_SHARE\INSTALL_SHARE" /> -->
  <variable name="version" value="7.34.102" />
  <variable name="exeversion" value="7.34.32.102" />

  <!-- PathFinder -->
  <variable name="PROGRAMPATH" value="%PROGRAMFILES%" />
  <variable name="PROGRAMPATH" value="%PROGRAMFILES(x86)%" architecture="x64" />


    <!-- As of Skype for Business 2015 (15.0.4745.1000), which is the new
         name for Lync 2013 and is NOT the same as the Skype this package
         installs, this does not conflict and will catch partial Skype
         installations -->
 
  <check type='logical' condition='or'>
    <check	type="uninstall"	condition="versiongreaterorequal"	path="Skype.*"					value="%version%" />
    <check      type="file"		condition="versiongreaterorequal"	path="%PROGRAMPATH%\Skype\Phone\Skype.exe"	value="%exeversion%" />
  </check>

  <install cmd='%COMSPEC% /C if exist "%PROGRAMPATH%\Skype\Phone\Skype.exe" "%PROGRAMPATH%\Skype\Phone\Skype.exe" /shutdown'>
    <exit code="any" />
  </install>

  <install cmd='msiexec /qn /i "%SOFTWARE%\skype\SkypeSetup-%version%.msi"' />
  <install cmd='%COMSPEC% /C reg add "HKLM\Software\Policies\Skype\Phone" /v "DisableVersionCheck" /d "1" /t REG_DWORD /f' />
  <install cmd='%COMSPEC% /C reg add "HKLM\Software\Policies\Skype\Phone" /v "DisableSupernode" /d "1" /t REG_DWORD /f' />
 
  <upgrade include="remove" />
  <upgrade include="install" />
 
  <remove cmd='%COMSPEC% /C if exist "%PROGRAMPATH%\Skype\Phone\Skype.exe" "%PROGRAMPATH%\Skype\Phone\Skype.exe" /shutdown'>
    <exit code="any" />
  </remove>

  <remove cmd='msiexec /x {1845470B-EB14-4ABC-835B-E36C693DC07D} /qn /norestart' />
</package>

Skype for Business 5.5

This applies to 32-bit and 64-bit installations of Skype.

<package
	id="skype"
	name="Skype"
	revision="2"
	priority="20">

	<variable name="version" value="5.5.0.124" />

	<check type='logical' condition='and'>
		<!--The real string is "SkypeTM 5.5" -->
		<check type="uninstall" condition="exists" path="Skype.*" />
			<check type='logical' condition='or'>

			<!-- The skype.exe version number for 5.5.0.124 is 5.5.32.124 -->
			<check
				type="file"
				condition="versiongreaterorequal"
				path="%ProgramFiles%\Skype\Phone\Skype.exe"
				value="%version%" />

			<check
				type="file"
				condition="versiongreaterorequal"
				path="%ProgramFiles(x86)%\Skype\Phone\Skype.exe"
				value="%version%" />
		</check>
	</check>
    
	<install cmd='msiexec /qn /i "%SOFTWARE%\skype\SkypeSetup.msi"' /> 

	<upgrade cmd='msiexec /qn /i "%SOFTWARE%\skype\SkypeSetup.msi"' /> 

	<!-- Close a running version of Skype -->
	<remove cmd='"%PROGRAMFILES%\Skype\Phone\Skype.exe" /shutdown' />

	<remove cmd='msiexec /x{F1CECE09-7CBE-4E98-B435-DA87CDA86167} /qn /norestart' /> 
</package>


Skype for Business 5.5 System Configuration

Adding these additional install commands into your WPKG package will modify the registry to disable automatic updates (DisableVersionCheck), disable supernodes (DisableSupernode) and disable Skype running at login by default.

  <install cmd='%COMSPEC% /C reg add "HKLM\Software\Policies\Skype\Phone" /v "DisableVersionCheck" /d "1" /t REG_DWORD /f' />

  <install cmd='%COMSPEC% /C reg add "HKLM\Software\Policies\Skype\Phone" /v "DisableSupernode" /d "1" /t REG_DWORD /f' />


Skype for Business 5.5 User Configuration

You can disable Skype from starting on login with the following command:

reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "Skype" /f

Skype for Business 5.0

This applies to 32-bit and 64-bit installations of Skype.

<package
  id="skype"
  name="Skype"
  revision="5.0.32.156"
  reboot="false"
  priority="50">

  <variable name="version" value="5.0.32.156" />

  <check type='logical' condition='and'>
   <check type="uninstall" condition="exists" path="Skype.*" />
  <check type='logical' condition='or'>
   <check type="file" condition="versiongreaterorequal" path="%ProgramFiles%\Skype\Phone\Skype.exe" value="%version%" />
   <check type="file" condition="versiongreaterorequal" path="%ProgramFiles(x86)%\Skype\Phone\Skype.exe" value="%version%" />
  </check>
  </check>
    
  <install cmd='msiexec /qn /i "%SOFTWARE%\skype\SkypeSetup-%version%.msi"' /> 

  <upgrade cmd='msiexec /qn /i "%SOFTWARE%\skype\SkypeSetup-%version%.msi"' /> 

  <remove cmd='"%PROGRAMFILES%\Skype\Phone\Skype.exe" /shutdown' />

  <remove cmd='msiexec /x{9C538746-C2DC-40FC-B1FB-D4EA7966ABEB} /qn /norestart' /> 
</package>


Skype for Business 5.0 Configuration

Adding these additional install commands into your WPKG package will modify the registry to disable automatic updates (DisableVersionCheckPolicy), disable supernodes (DisableSupernodePolicy) and disable Skype running at login by default.

  <install cmd='%COMSPEC% /C reg add "HKLM\Software\Policies\Skype\Phone" /v "DisableVersionCheckPolicy" /d "1" /t REG_DWORD /f' />

  <install cmd='%COMSPEC% /C reg add "HKLM\Software\Policies\Skype\Phone" /v "DisableSupernodePolicy" /d "1" /t REG_DWORD /f' />

  <install cmd='%COMSPEC% /C reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run" /v "Skype" /f' />


Skype for Business 4.1

<package
	id="skype"
	name="Skype"
	revision="4.1"
	reboot="false"
	priority="0"> 
	<!-- Skype uses the special TM character in its Add/Remove Programs DisplayName, and WPKG does not like that, so I am doing a version check on Skype.exe. -->

	<check type="file" condition="versiongreaterorequal" path="%PROGRAMFILES%\Skype\Phone\Skype.exe" value="4.1.32.179" /> 

	<install cmd='msiexec.exe /i "%SOFTWARE%\skype\SkypeSetup.msi" INSTALLLEVEL=1 ALLUSERS=1 TRANSFORMS=:RemoveDesktopShortcut.mst;:RemoveStartup.mst /qn' /> 

	<upgrade cmd='msiexec.exe /i "%SOFTWARE%\skype\SkypeSetup.msi" INSTALLLEVEL=1 ALLUSERS=1 TRANSFORMS=:RemoveDesktopShortcut.mst;:RemoveStartup.mst /qn' /> 

	<remove cmd='"%PROGRAMFILES%\Skype\Phone\Skype.exe" /shutdown' />

	<remove cmd='msiexec.exe /x{5C474A83-A45F-470C-9AC8-2BD1C251BF9A} /qn /norestart' /> 
</package>


Skype for Business 3.8

Note the extra parameters to the installation string to eliminate the installation of everything except the Skype application and Start/Send To shortcuts.

<package
	id="skype"
	name="Skype"
	revision="380"
	reboot="false"
	priority="0">

	<!-- Skype uses the special TM character in its Add/Remove Programs DisplayName, and WPKG does not like that, so I am doing a version check on Skype.exe. -->
	<check type="file" condition="versiongreaterorequal" path="%PROGRAMFILES%\Skype\Phone\Skype.exe" value="3.8" />
	
	<install cmd='msiexec.exe /i "%SOFTWARE%\SkypeSetup.msi" INSTALLLEVEL=1 ALLUSERS=1 TRANSFORMS=:RemoveDesktopShortcut.mst;:RemoveStartup.mst /qn' />

	<upgrade cmd='msiexec.exe /i "%SOFTWARE%\SkypeSetup.msi" INSTALLLEVEL=1 ALLUSERS=1 TRANSFORMS=:RemoveDesktopShortcut.mst;:RemoveStartup.mst /qn' />

	<remove cmd='"%PROGRAMFILES%\Skype\Phone\Skype.exe" /shutdown' />

	<remove cmd='msiexec.exe /x{375943E2-B268-4AD7-B7A4-0FD90E9C2AC7} /qn /norestart' />

</package>

Notes

The following information by andreskaasik was published in the Skype forum on May 15 2007. It only works with the MSI.

Installation directory
* The property INSTALLDIR determines the root directory of the Skype installation.
msiexec /i SkypeSetup.msi INSTALLDIR=c:\temp\skype

Installation for All Users
* Adding ALLUSERS=1 causes an installation for all users. By default, the non-interactive installation install the package just for the current user.
msiexec /i SkypeSetup.msi ALLUSERS=1

Feature Selection
* A number of properties allow selection of features to be installed, reinstalled, or removed. The set of features for the Skype installer is
+ Phone - the Skype executable with preloaded graphics and contacts.
+ IEPlugin - the Internet Explorer plugin
+ FFPlugin - the Mozilla Firefox plugin

Administrative installation
* Use the following command to initiate an "administrative" (network) installation:
msiexec /a SkypeSetup.msi TARGETDIR=c:\temp\skype

The files get unpacked into the target directory (which should be a network directory), but no other modification is made to the local system. In addition, another (smaller) msi file is generated in the target directory, which clients can then use to perform a local installation. Currently, there is no user interface for administrative installations, so the target directory must be passed on the command line. There is no specific uninstall procedure for an administrative install - just delete the target directory if no client uses it anymore. Yo can use the "feature properties" and install level to control what features preselected and available for installation.
1. Installs only Skype, plugin features are hidden from end user.
msiexec /a SkypeSetup.msi TARGETDIR=c:\temp FEATURE_IEPLUGIN=0 FEATURE_FFPLUGIN=0 INSTALLLEVEL=1
2. Installs only Skype, plugin features are visible to end user.
msiexec /a SkypeSetup.msi TARGETDIR=c:\temp INSTALLLEVEL=1
3. Installs Skype, IE and FF plugins.
msiexec /a SkypeSetup.msi TARGETDIR=c:\temp INSTALLLEVEL=10

Customization transforms

To install without desktop shortcut
Use the RemoveDesktopShortcut.mst transformation to remove Desktop icon.
msiexec /i SkypeSetup.msi TRANSFORMS=:RemoveDesktopShortcut.mst

To install without any shortcuts
Use the RemoveAllShortcuts.mst transformation to remove all shortcuts in "Start" and "Send To" menus and the Desktop icon.
msiexec /i SkypeSetup.msi TRANSFORMS=:RemoveAllShortcuts.mst

To disable starting Skype automatically at logon
Use the RemoveStartup.mst transformation to disable Skype starting automatically after user has logged in.
msiexec /i SkypeSetup.msi TRANSFORMS=:RemoveStartup.mst

Launching Skype after installation
* The property STARTSKYPE can be used to control the Skype launch at the end of installation (full user interface only). For example, the following command disables Skype launch after installation ends.
msiexec /i SkypeSetup.msi STARTSKYPE=FALSE /qf

Removing previous Skype installations
* The Skype MSI package is designed to remove old Skype (Inno) setups on install. The SKYPEREMOVAL=[DEFAULT|INNO|SCRIPT] property was introduced to control how this removal works.
By default the version of installed Skype package determines the removal method: if version < 2.6 then custom uninstall script is run else the Inno uninstall action is executed. For example, the following command forces Skype to use custom JScript to remove previous installation.
msiexec /i SkypeSetup.msi SKYPEREMOVAL=SCRIPT /qf