Lync 2013 won’t change to Skype4B when deployed using OCT

We found out that there is a scenario where the icon isn’t changed to Skype for Business after the April 2015 update.

skype4bicon01

The Start Menu shortcut was also Lync 2013:

skype4bicon02

While troubleshooting the issue, we discovered that the C:\Windows\Installer\{91150000-0011-0000-1000-0000000FF1CE}\ folder contained two different files with Lync and Skype4B icons:

skype4bicon03

After testing it, we discovered that the root cause for this issue was due to Lync 2013 being installed with a customized shortcut using Office Customization Tool (OCT):

skype4bicon04

There are 3 known workarounds, the first two will require redeploy but they are permanent. The last workaround is temporary and an update or repair will revert the changes made by the script.

1) Redeploy Office 2013 using OCT

If we don’t change the shortcut location in OCT, we will only get the lyncicon.exe in the Windows Installer folder. Also, this issue happens with Office 2013 and Lync 2013 Standalone.

2) Redeploy Office 2013 using config.xml

A good alternative to OCT is to use a config.xml in order to customize the installation, but with this method, however, we cannot change the shortcut location:

Config.xml file reference for Office 2013
https://technet.microsoft.com/en-us/library/cc179195.aspx

3) Run a script after every update

The final workaround is to use a script after every client update that will change the icons files. As an example here are the PowerShell cmdlets (requires elevated permissions) to change the icon and description:

$shortcutLocation = “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Office 2013\”
$oldShortcut = “Lync 2013.lnk”
$newShortcut = “Skype for Business 2015.lnk”
$iconComment = “Connect with people everywhere through voice and video calls, Skype Meetings, and IM.”

# Create a copy of the Shortcut:
Rename-Item $shortcutLocation$oldShortcut $newShortcut

# Change the new shortcut settings
$shell = New-Object -COM WScript.Shell
$shortcut = $shell.CreateShortcut($shortcutLocation+$newShortcut)
$shortcut.Description = $iconcomment
$shortcut.Save()

#Get the Icon Name and Folder
$iconlocation = $shortcut.IconLocation
$tempInd = $iconlocation.indexof(“Icon”)

$iconName = $iconlocation.substring($tempInd,$iconlocation.indexof(“.exe”)-$tempInd )
$iconFolder = $iconlocation.substring(0,$tempInd)

#Change the icon:
Rename-Item $iconFolder$iconName”.exe” $iconFolder$iconName”_old.exe”
Copy-Item  $iconFolder”lyncicon.exe” $iconFolder$iconName”.exe”  -force

skype4bicon05

Now we have the Skype for Business 2015 icon:

skype4bicon06

And also the Skype for Business 2015 shortcut in the Start Menu:

skype4bicon07