I was deploying unified company signature files for Outlook for company employees using logon script. Until Outlook 2013 was deployed, signature outlook files were properly deployed. For users with deployed Outlook 2013, signature files were not applying. The reason for this kind of behavior is that Outlook 2013 does not store profile information under HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles anymore, instead it uses HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles .
More for other changes introduced in Outlook 2013 on http://msdn.microsoft.com/en-us/library/office/jj228679.aspx .
Another change in Outlook 2013 is that it does not embed pictures in html signature files by default anymore. To force same behavior from previous Outlook version in Outlook 2013 following registry key has to be created:
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Options\Mail
Value type REG_DWORD
Value Name: Send Pictures With Document
Value: 1 .
More for other changes introduced in Outlook 2013 on http://msdn.microsoft.com/en-us/library/office/jj228679.aspx .
Another change in Outlook 2013 is that it does not embed pictures in html signature files by default anymore. To force same behavior from previous Outlook version in Outlook 2013 following registry key has to be created:
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Options\Mail
Value type REG_DWORD
Value Name: Send Pictures With Document
Value: 1 .
Did you happen to code for a mixed environment? We have some 2013 and some 2010 and trying to figure out how to exactly go about modifying the logon script for both functions.
ReplyDeleteThanks for this post as it was helpful!
Hi Simon,
ReplyDeleteYes, I'm in mixed environment, and I have implemented some logic in my logon script :
if RegistryKeyExist (HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles)then
Call ProcedureforDefaultSignature(for15)
else
Call ProcedureforDefaultSignature(before15)
end if
Excellent! Thanks for the quick reply. Turns out for our environment we didn't really need to check if the signature was there or not. We just implemented it regardless of the version and if they already had it. Not sure if this creates any problems and not aware of any performance hits setting the signature so not worried about it unless you know something I don't? Also to get around the image issue we just pointed to an image on our webserver through a string and used object creation with Word instead of having to add a registry key for embedding. Probably not the cleanest way to do it but because of security policy here it was a work-around for us.
ReplyDeleteSet objWord = CreateObject("Word.Application")
objWord.Visible = False
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objRange = objDoc.Range()
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries
'add image
Set objShape = objSelection.InlineShapes.AddPicture(strLogo)
objSelection.TypeText(Chr(11))
Hi Simon,
ReplyDeleteYou can check if your logon script works with machines when Office 2013 is installed without upgrading from previous version, since then there will be no "old" profile for migration from previous version of Office.
Regarding embedded picture, in my case I have pushed registry setting "Send Pictures With Document" using GPP.