Skip to main content

A trust certificate import prompt after upgrade to new version of Acrobat

Issue:
After upgrade to new version, a trust certificate import prompt comes up as older version of Acrobat had Trusted Certificates recorded over time.












Analysis:
The Certificates are saved in user profiles at this location:
%appdata%\Adobe\Acrobat\<version>\Security\addressbook.acrodata
If the file is copied to new version Security folder for each users then it will not prompt for import, and all the Trust Certificates will be imported to new version.

Solution:
Create a custom VBScript to copy addressbook.acrodata from older versions to new version for each users (e.g. upgrading from versions 9.0/10.0 to 11.0) for Win7

Add it to Execute Immediate Installation Sequence after InstallFinalize




Copy_Trust_Cert.vbs Script:
dim arcfolder, arc10folder, arc9folder
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Users")
Set colSubfolders = objFolder.Subfolders
arcfolder = "\AppData\Roaming\Adobe\Acrobat\11.0\Security"
arc10folder = "\AppData\Roaming\Adobe\Acrobat\10.0\Security"
arc9folder = "\AppData\Roaming\Adobe\Acrobat\9.0\Security"

For Each objSubfolder in colSubfolders
    'Wscript.Echo objSubfolder
                arcsubfolder =  objSubfolder & arcfolder
                arc10subfolder = objSubfolder & arc10folder
                arc9subfolder = objSubfolder & arc9folder
                'Wscript.Echo arcsubfolder
                If (objFSO.FolderExists(arc9subfolder) = True) Then
                                'Wscript.Echo "Yes"
                                If objFSO.FolderExists(arcsubfolder) Then
                                Else
                                objFSO.CreateFolder(objSubfolder & "\AppData\Roaming\Adobe\Acrobat\11.0")
                                objFSO.CreateFolder(objSubfolder & "\AppData\Roaming\Adobe\Acrobat\11.0\Security")
                                End If   
                                objFSO.CopyFile arc9subfolder & "\addressbook.acrodata", arcsubfolder & "\addressbook.acrodata"
                End If
                If (objFSO.FolderExists(arc10subfolder) = True) Then
                                'Wscript.Echo "Yes"
                                If objFSO.FolderExists(arcsubfolder) Then
                                Else
                                objFSO.CreateFolder(objSubfolder & "\AppData\Roaming\Adobe\Acrobat\11.0")
                                objFSO.CreateFolder(objSubfolder & "\AppData\Roaming\Adobe\Acrobat\11.0\Security")
                                End If   
                                objFSO.CopyFile arc10subfolder & "\addressbook.acrodata", arcsubfolder & "\addressbook.acrodata"
                End If

Next

Author: Dinesh Shilpakar

Comments

Popular posts from this blog

Remove previous versions using MSI Upgrade Table

There are several methods to uninstall the existing older versions of an application e.g. Script, MSI upgrade table, SCCM deployment conditions. We are here discussing the method using Upgrade table. Upgrade table can be used effectively to detect and uninstall the previous versions of a MSI based application provided the upgrade code is known. Here is an example on populating Upgrade Table: Locate the U pgradeCode in Property Manager . Remember this could either be same or different in previous version and if it is different then grab the code from previous version. Go to the Upgrade Table in Direct Editor . Copy the upgrade code to its column. Populate the Version columns based on requirement (consider all the digits as per previous MSI versions). Attribute column needs to be configured with appropriate bit flag for corresponding upgrade behavior. Refer to  Upgrade Table  to calculate the proper bit flag. In example, 768 is the sum of 256+512 which m...

Active Setup Registry Key : What it is and how to create in the package using Admin Studio Install Shield

While launching from Admin account or doing “Run as Admin” it was launching properly but when launched from the standard-user account, though it was launching but GUI was not coming properly and before launching, it throws the error that some particular Skin file is missing. I checked in installation folder and skin file was there but still while launching I was getting the error, but when launched from Admin account or using “Run as admin” it was launching properly with proper GUI and no skin file missing error. On exploring further I found that application was installed by admin account and it created some entries in HKCU, and these entries contain the path and name of skin file to be used. So when we launched the application from Standard user account then these entries were empty in HKCU for Standard user. So to solve this problem while re-packaging I used Active Setup . Active Setup provides a great solution for installing current user data when the package is not installed ...

Using the CorrectFilePaths Shim to Redirect Files on Windows Vista

The last time around , I suggested that you avoid using the acredir.dll shims - RedirectRegistry and RedirectFiles. As alternatives, I recommended VirtualRegistry and CorrectFilePaths. Of course, I have already gone into some details on how to use VirtualRegistry to achieve that, but I haven't gone in to any details on CorrectFilePaths yet. And, unfortunately, the documentation isn't much help as of the 5.0.1 release (as I said - stay tuned to the documentation for future releases, as this is something we are working on). In fact, here is all that the documentation tells you: "Corrects file paths that changed between Windows 95 or Windows 98 and Windows XP Professional. This compatibility fix works by converting the file paths to the correct location for Windows XP Professional in the APIs. For example, a Windows 95 path of C:\Windows\Write.exe is converted to C:\Windows\System32\Write.exe." While this is true, it is not comprehensive (and is, theref...