Relevant Products: Signature Manager Outlook Edition | Signature Manager
WARNING! The following products were discontinued on 30 September 2022:
- Exclaimer Signature Manager Outlook Edition
- Exclaimer Signature Manager Exchange Edition
The end of Support for these products is 30th September 2024.
For more information, please see the Discontinued Questions and Answers page.
Scenario
- When ExSync.exe (the signature update agent for Exclaimer Signature Manager Outlook Edition) is run for a user who does not have an existing Outlook profile, a profile with a random string of characters for its name is created. This profile is not completed until the user opens Outlook and adds an email account.
- Users on a VPN or wireless connection get an error when ExSync.exe starts at logon.
Reason
-
ExSync.exe requires that Outlook is installed and that an Outlook profile exists before it is run on a user’s PC. Typically, this problem occurs the very first time a user logs on to a PC; they need to run Outlook once to create a profile, but ExSync.exe is run during login - before they have an opportunity to open Outlook for the first time.
- When the GPO is run on a machine that is on a VPN or wireless connection Deployment Share and therefore an error is displayed.
Resolution
You can use the following VBScript script to run ExSync.exe. This will only launch ExSync.exe if the user already has an Outlook profile, this is also configured to "SLEEP" for 10 seconds after logon before starting ExSync.exe:
'CHECK FOR OUTLOOK PROFILE
'Line 20 Uncomment to enable error message
'CHANGE SLEEP TIME BEFORE STARTING EXSYNC.EXE
'Line 28 Change "Sleep" time in miliseconds, usefull for users on a VPN connetion
'CATCH ERROR IF DEPLOYMENTSHARE IS NOT ACCESSIBLE
'Line 31 Uncomment to enable error message
Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath2010 = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
strKeyPath2013 = "Software\Microsoft\Office\15.0\Outlook\Profiles"
strKeyPath2016 = "Software\Microsoft\Office\16.0\Outlook\Profiles"
strValueName = "DefaultProfile"
objRegistry.GetStringValue HKEY_CURRENT_USER,strKeyPath2010,strValueName,dwValue
objRegistry.EnumKey HKEY_CURRENT_USER,strKeyPath2013, arrSubKeys2013
objRegistry.EnumKey HKEY_CURRENT_USER,strKeyPath2016, arrSubKeys2016
If IsNull(dwValue) AND IsNull(arrSubKeys2013) AND IsNull(arrSubKeys2016) Then
'Wscript.Echo "No Outlook Profile Exists"
Else
call signature()
End If
Function signature()
On Error Resume Next
Set wshShell = WScript.CreateObject ("WSCript.shell")
WScript.Sleep 10000
wshshell.run """\\Server\DeploymentShare\ExSync.exe""", 6, True
If Err Then
'Wscript.Echo "Could not access the shared folder, your signature will not be updated"
End If
End Function
- replace \\Server\DeploymentShare\ExSync.exe towards the end with the full UNC path to ExSync.exe in your deployment share (keep all three sets of quotation marks).
The script checks that a profile for any version of Outlook exists, before running ExSync.exe. If no profile is found, the user will see a popup stating that 'No Outlook Profile exists' (if line 20 is uncommented).
You can remove the prompt by deleting the following line from the IF statement:
This allows the user to run Outlook for the first time and create a profile before ExSync.exe is run automatically by your login script. As such, their Outlook profile is created with your company’s standard name and settings.
If you change line 28 "SLEEP" time - this allows you to configure the script to wait for a long time where required, time is in milliseconds.
Next time when the user logs on to the PC, ExSync.exe will run as normal and their signatures will be deployed to their existing Outlook profile.