Nuance Scansoft PDF Converter App virtualization / App V Sequencing
The below is the Recipe I found in App V forums but here I will include the screenshots which will be very useful
I just finished sequencing this application, which like most PDF conversion utilities uses a printer driver. I wish I could post my App-V recipe .doc file, but it’s branded with my company details, so I’ll have to just write a freehand version. It’s kind of a bit awkward without the screen shots, but I’ll try my best. The reason for this posting is to aid people with the printer driver part and also to advise of an issue I ran into when testing.
As with most applications that install a printer driver, you need to sequence the application part and install the print driver locally on the machine. I accomplished this by stripping the printer driver from the install during the App-V sequence and then creating a separate .MSI to deploy the driver locally.
Step1 – Prepare .MSI to be installed within the App-V Sequencer without the print driver.
- Edit the vendor .MSI using Orca
- Create a new transform
- Browse to the InstallExecuteSequence table.
- Set the Condition table column to 0 for the following custom actions
Zeon_AddDocuComPDFDriver.77693CC4_42DD_464F_B109_4D3F54DB9232
Zeon_AddDocuComPDFDriver.E817E470_064B_46CC_B134_6DD6D258536F
N.B. Just some additional information regarding the above custom actions:
Although there are two entries in the InstallExecuteSequence table only the Zeon_AddDocuComPDFDriver.77693CC4_42DD_464F_B109_4D3F54DB9232 action was present in the Custom Action table. Upon further investigation it transpires one entry is used for the 64-bit version of the .MSI and the other is for the 32-bit version. The vendor should have probably removed the erroneous entry from each of the .MSIs.
For clarification:
32-bit:
Zeon_AddDocuComPDFDriver.E817E470_064B_46CC_B134_6DD6D258536F
64-bit:
Zeon_AddDocuComPDFDriver.77693CC4_42DD_464F_B109_4D3F54DB9232
Each .MSI has both entries within the InstallExecuteSequence table, but only the 32-bit or 64-bit entry within the Custom Action table. For completeness both actions were set to a condition of 0, although just the relevant 32-bit or 64-bit action probably would be sufficient.
- Generate the transform file.
Step 2 – Capture the installation with the App-V Sequencer
- Capture the application installation with the newly created transform applied.
N.B. Because the the custom action has been stripped from the .MSI it will prevent the printer driver from installing during the capture and prevent the need to strip the components out of the sequence post capture.
Step 3 – Create local .MSI install for Printer Driver.
- Edit vendor .MSI using ORCA
- Browse to the Custom Action table and find the aforementioned Zeon_ Custom Action. Take note of the entry in the Source column. In this instance it wasNewBinary2.77693CC4_42DD_464F_B109_4D3F54DB9232.
- Browse to the Binary table and find the above entry.
- Double-Click the [Binary Data] field to right of the entry.
- Choose a filename (i.e. PDF.dll) and location, then select the “Write binary to filename” radio button and click OK.
- Create an admin install of the vendor .MSI (msiexec /a) to break-out the files.
- From the admin install, take a copy of the spool\drivers\x64 (+sub directories) or the equivelant 32-bit versions. These files are needed to install the print driver.
- Create a new .MSI using AdminStudio / Wise Package Studio / Advanced Installer etc.
- Add the System32\Spool\…\. files to the package maintaining the same directory structure underneath System32.
- Create a new Custom Action (Function from .dll) and point to the previously extracted PDF.dll file. Use AddScanSoftPDFCreate as the function to call.
Deploy the .MSI and App-V package together and all should be well.
Screen Shots:
Step 1:
Open the PDF Converter.msi with Orca and go to InstallExecuteSequence Table and Change these Action Conditions to 0
Zeon_AddDocuComPDFDriver.77693CC4_42DD_464F_B109_4D3F54DB9232
Zeon_AddDocuComPDFDriver.E817E470_064B_46CC_B134_6DD6D258536F
– Then Save this msi
Step 2:
Now go to App V sequencer machine and sequence the application by using the above modified msi (Install the msi which we modified above and Capture)
Step 3:
– Now We need to create Scansoft/Docucom Driver standalone application for that follow these steps
– Open the PDF Converter.msi with ORCA and go to CustomAction Table
– Then go to the Action Zeon_AddDocuComPDFDriver.E817E470_064B_46CC_B134_6DD6D258536F and Copy the Source there
– Now go to Binary Table and Search for above Binary
– Now Double click on [Binary Data] and a window will pop up
– Chose your Location and Write binary to filename (File Extension Must be .dll)
Step 4:
– Now You Need to extract the files (The Drivers You Required) from Main PDF Converter.msi
– For that you need to install that using this command line
msiexec /a “C:\Install\PDF Converter.msi”
– Choose the Location of the files to be saved as your Documents of wherever you have full control otherwise you will get prompted with error messages
– After above step you might have got the whole bunch of folders bur you need only Drivers
– So go to Spool\Drivers and Copy the whole folder to a Network location because now we are gonna make a msi with those driver files included
Step 5:
– Making an msi by using InstallShield 2012
– Launch the Installshield goto File –> New and select Basic msi Project
– Give the Project Name PDF and Location to save
– Go to Installation Designer and chose Files and Folders Section
– Here add Files you extracted exactly like this
For 32bit Machines : C:\Windows\System32\Spool\Drivers
For 64bit Machines: C:\Windows\SysWoW64\Spool\Drivers
– Okay you have added the Driver files so now you need to add the PDF.dll (Which We Have Created In Step 4) to this location [ProgramFilesFolder]\[My Company Name\My Product Name]\PDF.dll
– Okay You added all files Needed for the Package except a custom action
– Go to Custom Action Section and Open Custom Action Wizard
– Okay now your Printer PDF.msi is also ready
Step 5:
– Now Deploy the Sequenced Application first and then The PDF.msi which you have created in Step 4.
– You Need to reboot the machine to apply the Printer changes after installation in client machine
– That’s it you are done
– Some times the VC++ Redistributable error messages may come so make sure to install the latest VC++ 2005, 2008 and 2010
Thanks,
Sri