Sequencing Autodesk DWG Trueview 2014 x64 with App-V 5 SP1 and SP2


Recently I had to sequence Autodesk TrueView 2014 using App-V 5 Sp1. At first this seemed pretty straightforward as I found some recipies on the Internet. But these all turned out to be incomplete or for App-V 4.6. I found that for the best result I had to move (at least the client) to SP2.  So here’s my recipe for sequecing Autodesk TrueView 2014.

Application

Name: Autodesk DWG TrueView 2014
Version: 19.1.18.0
Language: English (US)
Bitness: x64

Sequencing Machine

Windows 7 x64 SP1
App-V 5 sequencer SP1 (or SP2)

Issues I encountered

All the issues I encounterd occurred when trying to open a (dwg) drawing.

Issue 1: Heidi Driver Error

This turned out to be not so much a sequencing issue but more an issue of the fact I was using a VM that does not support Video Hardware Acceleration. This caused TrueView to show the following error when clicking the Open button. ‘A display driver file (.hdi) is missing or has been corrupted. The program will be closed.’

Heidi Error

This error occurred both after sequencing as with a normal install of TrueView on my VM. When using either the sequence or a local install on a normal desktop the error did not occur.
To also make TrueView work on my VM’s I added the commandline switch /NOHARDWARE to the DWG TrueView 2014 shortcut.
So if you want to use TrueView on systems that do not support Hardware acceleration you can either add this commandline switch to the shortcut during sequencing or afterwards in the DeploymentConfig.xml. Using the first method Hardware Acceration is disabled on al machines you target the sequence to. Using the second method you can target specific machines to not use Hardware acceleration by applying the Config XML file to the sequence on those machines.

Error 2: Fatal error (Does not occur on a SP2 client. Only on SP1)

When opening a DWG drawing using the created  TrueView Sequence the following Error messages occurred. ‘FATAL ERROR: Unhandled Exception’

Error2

Error2b

This error only occurs when using the sequence on a Sp1 Client. It appears to be a bug in the App-V client, which has been solved with Sp2

If for whatever reason you have to use SP1, I found a work arround in a different blog. It cant be solved during sequencing but only afterwards by modifying the Config XML files. I’ve described the details in step 3 of my recipe.

The best choice is offcourse to move to SP2, as I found similar problems with other applications. Which is what I did after ecountering this problem.

Error 3: Missing Dll’s

After solving the previous error I encountered another when trying to open a (DWG) drawing. An unhandeled exeception error dealing with AcLivePreviewContext.dll.

Error

Error3

If found the cause of this error to be the fact that when a (DWG) drawing is opened for the first time TrueView creates the following two dll’s in the UserProfile (%APPDATA%\ Autodesk\DWG TrueView 2014\R12\enu).

  • AcLivePreviewContext.dll
  • ContextualTabSelectorRules.dll

The design of App-V 5 and specificaly a feature called the Copy-on Write (COW) filter prevents TrueView from creating these files inside the sequence.
The following quote about COW is from a technet blog about a similar issue with firefox.
“The COW manages per-user data and package wide data that are stored per-user (in the case of applications that are targeted to the user.) Writes are redirected from the base package location to a COW location inside the user’s profile. This makes it possible for users to have different views of the same package and all changes are isolated between users. It also prevents users from tampering with App-V packages from outside the virtual environment yet it will STILL allow Anti-Virus applications to scan and REMOVE viruses from a virtual application should the rare case in which one would arrive via an App-V package.

One particular item that is also a feature of the COW are the COW Exclusions. Copy-on-Write functionality will not occur for certain file types. Files with extensions of EXE, CMD, MSI, COM, BAT, JS, VBS, DLL, and others cannot be modified because it will trigger a new instance of these files within the user’s profile and these extensions are normally associated with executable code or scripts.”

To solve this issue I installed TrueView on a test machine and opened a DWG document. Afterwards I copied the above mentioned dll’s to the source folder of Trueview so I could copy them to the correct folder in the user profile during sequencing.

Prerequisites

Installed software

Make sure you have the following software installed locally on your sequencing machine:

  • Visual C++ Redistributable 2008 SP1 (9.0.30729.4148) x86 and x64 
  • Visual C++ Redistributable 2010 SP1 (10.0.40219) x86 and x64 
  • .Net FrameWork 4.5

.Net FrameWork 4.0 with the update KB2468871 will also be enough, but I used 4.5 because it is the latest version and as a single installer easier to install.
The VC-runtimes are all included in the 3rdParty subfolder of the TrueView source.

Using the SP2 sequencer it should be possible to include the VC-runtimes in the sequence (so you then don’t have to install the locally before sequencing). But since the environment I sequenced this application for already had the VC-runtimes installed locally, I did not include them in the sequence.

DirectX

Other recipies I found about TrueView tell you to have DirectX installed locally before sequencing. The downside of this is that you have to separately deploy DirectX to all your machines of specifically to the machines that will recieve TrueView.
I opted for including DirectX in the sequence and have not yet found any problems using TrueView.
If DirectX is already a part of your base image or if you don’t want to risk including DirectX in your sequence you should install DirectX (included in the 3rdParty subfolder of the TrueView source) locally before sequencing and use the following method to disable installation of DirectX during the TrueView setup.

  • Open setup.ini from the TrueView source.
  • Find the section [AOEM]
  • Edit the value for PREREQUISITE to remove the “DIRECTX;” part.
Other prereqs

Make sure you have the following dll’s available (stored somewhere in your source location) for copying during sequencing:

  • AcLivePreviewContext.dll
  • ContextualTabSelectorRules.dll

Sequencing Steps

Step 1 Prepare the sequencer
  • Start the App-V sequencer.
  • Go to Tools -> Options -> Exclusion Items
  • Remove [{Local AppData}] from the Exclusion Items

Exclusion

Step 2 Sequence
  • Create a new Package
  • Verify that your computer is ready for sequencing
  • Select the “Standard Application (Default)” option.
  • Select setup.exe from the TrueView source as the installer for the application
  • Choose a Virtual Application Package Name
  • Use C:\Program Files\Autodesk as the Primary Virtual Application Directory
  • Install DWG TrueView

TrueViewInstall

  • After installation start Windows Explorer.
  • Copy the previously stored dll’s (AcLivePreviewContext.dll, ContextualTabSelectorRules.dll) to %APPDATA%\ Autodesk\DWG TrueView 2014\R12\enu
    This will solve the prevously mentioned Error 3
  • Go back to the sequencer and select the option “I’m finished installing” and click Next.

NoRun

  • Do NOT run any program to manage first use tasks. Click Next
  • Review the installation report and click Next

Stopnow

  • Select Stop Now and click Next
    If you want to change the platform on which you want to allow this sequence to run, you can select “Customize” at this point, but do NOT run any programs to create a feature block 1.

Continue

  • Select “Continue to modify the package….”
  • In the sequencer go to the tab “Shortcuts and FTAs”

Shortcuts

  • Remove Notepad from the list of applications.
  • Now save your sequence and (optionally) continue with Step 3
Step 3  Workaround for Error 2 on AppV 5 SP1 clients

After saving your sequence, edit the DeploymentConfig and UserConfig XML files.

Change the Target in the following section to point to the hardcoded path of dwgviewer.exe. The <Package GUID> and <Version GUID> shown in the example should be replaced bij the Package GUID and VersionGUID of your sequence.

<Extension Category="AppV.Shortcut">
  <Shortcut>
    <File>[{Programs}]\MCH Applicaties\DWG TrueView\DWG TrueView 2014.lnk</File>
    <Target>C:\ProgramData\App-V\<Package GUID>\<Version GUID>\Root\DWG TrueView 2014\dwgviewr.exe</Target>
    <Icon>[{Windows}]\Installer\{5783F2D7-D028-0409-0100-0060B0CE6BBA}\Aoem162_icon.exe.0.ico</Icon>
    <Arguments>/language "en-US"</Arguments>
    <WorkingDirectory>[{AppVPackageRoot}]\DWG TrueView 2014\UserDataCache\</WorkingDirectory>
    <ShowCommand>1</ShowCommand>
    <ApplicationId>[{AppVPackageRoot}]\DWG TrueView 2014\dwgviewr.exe</ApplicationId>
  </Shortcut>
</Extension>

The downside of the workaround is that you always require the XML files for deployment and that the Version GUID changes every time you save the sequence. So that after every save you have the re-edit the XML files to reflect the new Version GUID.

A much better sollution is to move the App-V client to SP2

Advertisements

Tags: , , , , , ,

About Casper van der kooij

Technical Lead Application Packaging @ Conclusion Future Infrastructure Technologies, Utrecht, The Netherlands.

4 responses to “Sequencing Autodesk DWG Trueview 2014 x64 with App-V 5 SP1 and SP2”

  1. Gary Coyle says :

    Good post Jasper and it dealt with my Error3 : Missing DLL’s so thanks. Did you have any issues with opening the Help (F1)…?

    Gary

  2. Jhonny says :

    Thanks much!!.. it worked 🙂

  3. Mahesh says :

    Thank you so much.

  4. Stefan says :

    Thanks Casper, this is very helpfull!!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: