Video Screencast Help
Protect Your POS Environment Against Retail Data Breaches. Learn More.

Virtualizating an app problem

Created: 06 Nov 2013 | 5 comments

Hello,

I am trying to virtualize an application called Global Navigator Pro v 7.2.

During a straight-from-the-CD-install the following happens;

CD autorun starts up;

I select application I wish to install (Global Navigator Client Installation). Which does the following;

Microsoft .NET Framework 4 (x86 and x64) installs.

MySQL Connector / ODBC 5.1 installs.

Crystal Reports for .NET Framework 4.0 installs.

Global Navigator installs.

 

However, when I attempt to do a global capture the following occurs;

Microsoft .NET Framework 4 (x86 and x64), and MySQL Connector/ODBC 5.1 installs.

Crystal reports for .NET Framework 4.0 fails to install.

"Component Crystal Reports for .NET Framework 4.0 has failed to install with the following error message:

"A failure occurred attempting to install the Crystal Reports for .NET Framework 4.0."

The following components failed to install:

-Crystal Reports for .NET Framework 4.0

See the setup log file for more information"

 

Here are the contents of the setup log file;

 

The following properties have been set:
Property: [AdminUser] = true {boolean}
Property: [InstallMode] = SameSite {string}
Property: [ProcessorArchitecture] = AMD64 {string}
Property: [VersionNT] = 6.1.1 {version}
Running checks for package 'Windows Installer 4.5', phase BuildList
Looking up path for special folder 'WindowsFolder'
Running check with folder 'C:\Windows\System32' and file 'msi.dll'
Attempting to find file 'C:\Windows\System32\msi.dll'
File version is '5.0.7601.17807'
Setting value '5.0.7601.17807 {version}' for property 'VersionMsiDll'
The following properties have been set for package 'Windows Installer 4.5':
Property: [VersionMsiDll] = 5.0.7601.17807 {version}
Running checks for command 'WindowsInstaller4_5\WindowsXP-KB942288-v3-x86.exe'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '4.5': true
Result of checks for command 'WindowsInstaller4_5\WindowsXP-KB942288-v3-x86.exe' is 'Bypass'
Running checks for command 'WindowsInstaller4_5\WindowsXP-KB958655-v2-x86-ENU.exe'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22299': true
Result of checks for command 'WindowsInstaller4_5\WindowsXP-KB958655-v2-x86-ENU.exe' is 'Bypass'
Running checks for command 'WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x86.exe'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '4.5': true
Result of checks for command 'WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x86.exe' is 'Bypass'
Running checks for command 'WindowsInstaller4_5\WindowsServer2003-KB958655-v2-x86-ENU.exe'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22299': true
Result of checks for command 'WindowsInstaller4_5\WindowsServer2003-KB958655-v2-x86-ENU.exe' is 'Bypass'
Running checks for command 'WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x64.exe'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '4.5': true
Result of checks for command 'WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x64.exe' is 'Bypass'
Running checks for command 'WindowsInstaller4_5\WindowsServer2003.WindowsXP-KB958655-v2-x64-ENU.exe'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22299': true
Result of checks for command 'WindowsInstaller4_5\WindowsServer2003.WindowsXP-KB958655-v2-x64-ENU.exe' is 'Bypass'
Running checks for command 'WindowsInstaller4_5\Windows6.0-KB958655-v2-x86.MSU'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22308': true
Result of checks for command 'WindowsInstaller4_5\Windows6.0-KB958655-v2-x86.MSU' is 'Bypass'
Running checks for command 'WindowsInstaller4_5\Windows6.0-KB958655-v2-x64.MSU'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22308': true
Result of checks for command 'WindowsInstaller4_5\Windows6.0-KB958655-v2-x64.MSU' is 'Bypass'
'Windows Installer 4.5' RunCheck result: No Install Needed
Running checks for package 'MySQL Connector/ODBC 5.1', phase BuildList
Reading value 'Version' of registry key 'HKLM\SOFTWARE\MySQL AB\MySQL Connector/ODBC 5.1'
Unable to read registry value
Not setting value for property 'ConnectorTargetVersion'
The following properties have been set for package 'MySQL Connector/ODBC 5.1':
Running checks for command 'mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi'
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Skipping ByPassIf because Property 'ConnectorTargetVersion' was not defined
Result of checks for command 'mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi' is 'Install'
'MySQL Connector/ODBC 5.1' RunCheck result: Install Needed
Running checks for package 'Microsoft .NET Framework 4 (x86 and x64)', phase BuildList
Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full'
Unable to read registry value
Not setting value for property 'DotNet40Full_TargetVersion'
The following properties have been set for package 'Microsoft .NET Framework 4 (x86 and x64)':
Running checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe'
Result of running operator 'ValueEqualTo' on property 'InstallMode' and value 'HomeSite': false
Skipping ByPassIf because Property 'DotNet40Full_TargetVersion' was not defined
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.1.2': false
Result of running operator 'ValueEqualTo' on property 'ProcessorArchitecture' and value 'IA64': false
Result of checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe' is 'Install'
Running checks for command 'DotNetFX40\dotNetFx40_Full_setup.exe'
Result of running operator 'ValueNotEqualTo' on property 'InstallMode' and value 'HomeSite': true
Result of checks for command 'DotNetFX40\dotNetFx40_Full_setup.exe' is 'Bypass'
'Microsoft .NET Framework 4 (x86 and x64)' RunCheck result: Install Needed
Running checks for package 'Crystal Reports for .NET Framework 4.0', phase BuildList
Reading value 'CRRuntime32Version' of registry key 'HKLM\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports'
Unable to read registry value
Not setting value for property 'ConnectorTargetVersion'
The following properties have been set for package 'Crystal Reports for .NET Framework 4.0':
Running checks for command 'CRRuntime_32bit_13_0_3\CRRuntime_32bit_13_0_3.msi'
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Skipping ByPassIf because Property 'ConnectorTargetVersion' was not defined
Result of checks for command 'CRRuntime_32bit_13_0_3\CRRuntime_32bit_13_0_3.msi' is 'Install'
'Crystal Reports for .NET Framework 4.0' RunCheck result: Install Needed
EULA for components 'Microsoft .NET Framework 4 (x86 and x64)' was accepted.
Installation of components 'MySQL Connector/ODBC 5.1, Crystal Reports for .NET Framework 4.0' was accepted.
Copying files to temporary directory "C:\Users\gh\AppData\Local\Temp\VSD196.tmp\"
Copying from 'D:\Client\mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi' to 'C:\Users\gh\AppData\Local\Temp\VSD196.tmp\mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi'
Verifying file integrity of C:\Users\gh\AppData\Local\Temp\VSD196.tmp\mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi
WinVerifyTrust returned 0
File trusted
Copying from 'D:\Client\DotNetFX40\dotNetFx40_Full_x86_x64.exe' to 'C:\Users\gh\AppData\Local\Temp\VSD196.tmp\DotNetFX40\dotNetFx40_Full_x86_x64.exe'
Verifying file integrity of C:\Users\gh\AppData\Local\Temp\VSD196.tmp\DotNetFX40\dotNetFx40_Full_x86_x64.exe
WinVerifyTrust returned 0
File trusted
Copying from 'D:\Client\CRRuntime_32bit_13_0_3\CRRuntime_32bit_13_0_3.msi' to 'C:\Users\gh\AppData\Local\Temp\VSD196.tmp\CRRuntime_32bit_13_0_3\CRRuntime_32bit_13_0_3.msi'
Verifying file integrity of C:\Users\gh\AppData\Local\Temp\VSD196.tmp\CRRuntime_32bit_13_0_3\CRRuntime_32bit_13_0_3.msi
WinVerifyTrust returned 0
File trusted
Running checks for package 'MySQL Connector/ODBC 5.1', phase BeforePackage
Reading value 'Version' of registry key 'HKLM\SOFTWARE\MySQL AB\MySQL Connector/ODBC 5.1'
Unable to read registry value
Not setting value for property 'ConnectorTargetVersion'
The following properties have been set for package 'MySQL Connector/ODBC 5.1':
Running checks for command 'mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi'
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Skipping ByPassIf because Property 'ConnectorTargetVersion' was not defined
Result of checks for command 'mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi' is 'Install'
'MySQL Connector/ODBC 5.1' RunCheck result: Install Needed
Verifying file integrity of C:\Users\gh\AppData\Local\Temp\VSD196.tmp\mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi
WinVerifyTrust returned 0
File trusted
Installing using command 'C:\Windows\SysWOW64\msiexec.exe' and parameters ' -I "C:\Users\gh\AppData\Local\Temp\VSD196.tmp\mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi" -q '
Will attempt to elevate process.
Process exited with code 0
Running checks for package 'MySQL Connector/ODBC 5.1', phase AfterPackage
Reading value 'Version' of registry key 'HKLM\SOFTWARE\MySQL AB\MySQL Connector/ODBC 5.1'
Read string value '5.1.8'
Setting value '5.1.8 {string}' for property 'ConnectorTargetVersion'
The following properties have been set for package 'MySQL Connector/ODBC 5.1':
Property: [ConnectorTargetVersion] = 5.1.8 {string}
Running checks for command 'mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi'
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'ConnectorTargetVersion' and value '5.1.8': true
Result of checks for command 'mysql-connector-odbc-5.1\mysql-connector-odbc-5.1.8-win32.msi' is 'Bypass'
'MySQL Connector/ODBC 5.1' RunCheck result: Install Succeeded
Running checks for package 'Microsoft .NET Framework 4 (x86 and x64)', phase BeforePackage
Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full'
Unable to read registry value
Not setting value for property 'DotNet40Full_TargetVersion'
The following properties have been set for package 'Microsoft .NET Framework 4 (x86 and x64)':
Running checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe'
Result of running operator 'ValueEqualTo' on property 'InstallMode' and value 'HomeSite': false
Skipping ByPassIf because Property 'DotNet40Full_TargetVersion' was not defined
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.1.2': false
Result of running operator 'ValueEqualTo' on property 'ProcessorArchitecture' and value 'IA64': false
Result of checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe' is 'Install'
'Microsoft .NET Framework 4 (x86 and x64)' RunCheck result: Install Needed
Verifying file integrity of C:\Users\gh\AppData\Local\Temp\VSD196.tmp\DotNetFX40\dotNetFx40_Full_x86_x64.exe
WinVerifyTrust returned 0
File trusted
Installing using command 'C:\Users\gh\AppData\Local\Temp\VSD196.tmp\DotNetFX40\dotNetFx40_Full_x86_x64.exe' and parameters ' /q /norestart /ChainingPackage FullX64Bootstrapper'
Process exited with code 0
Running checks for package 'Microsoft .NET Framework 4 (x86 and x64)', phase AfterPackage
Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full'
Read string value '4.0.30319'
Setting value '4.0.30319 {string}' for property 'DotNet40Full_TargetVersion'
The following properties have been set for package 'Microsoft .NET Framework 4 (x86 and x64)':
Property: [DotNet40Full_TargetVersion] = 4.0.30319 {string}
Running checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe'
Result of running operator 'ValueEqualTo' on property 'InstallMode' and value 'HomeSite': false
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'DotNet40Full_TargetVersion' and value '4.0.30129': true
Result of checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe' is 'Bypass'
'Microsoft .NET Framework 4 (x86 and x64)' RunCheck result: Install Succeeded
Running checks for package 'Crystal Reports for .NET Framework 4.0', phase BeforePackage
Reading value 'CRRuntime32Version' of registry key 'HKLM\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports'
Unable to read registry value
Not setting value for property 'ConnectorTargetVersion'
The following properties have been set for package 'Crystal Reports for .NET Framework 4.0':
Running checks for command 'CRRuntime_32bit_13_0_3\CRRuntime_32bit_13_0_3.msi'
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Skipping ByPassIf because Property 'ConnectorTargetVersion' was not defined
Result of checks for command 'CRRuntime_32bit_13_0_3\CRRuntime_32bit_13_0_3.msi' is 'Install'
'Crystal Reports for .NET Framework 4.0' RunCheck result: Install Needed
Verifying file integrity of C:\Users\gh\AppData\Local\Temp\VSD196.tmp\CRRuntime_32bit_13_0_3\CRRuntime_32bit_13_0_3.msi
WinVerifyTrust returned 0
File trusted
Installing using command 'C:\Windows\SysWOW64\msiexec.exe' and parameters ' -I "C:\Users\gh\AppData\Local\Temp\VSD196.tmp\CRRuntime_32bit_13_0_3\CRRuntime_32bit_13_0_3.msi" -q UPGRADE=1'
Will attempt to elevate process.
Process exited with code 1603
Status of package 'MySQL Connector/ODBC 5.1' after install is 'InstallSucceeded'
Status of package 'Microsoft .NET Framework 4 (x86 and x64)' after install is 'InstallSucceeded'
Status of package 'Crystal Reports for .NET Framework 4.0' after install is 'InstallFailed'
 

Help?

Thanks,

Giles

 

Operating Systems:

Comments 5 CommentsJump to latest comment

EdT's picture

Try creating the Crystal Reports install as a separate layer, on a machine that has the .NET frameworks in the base.

Are you installing on Win 7 64 bit or a later O/S version?

Are you using the 64 bit SWV client, and at what version?

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

Iskyfly's picture

Yes, installing on W7 64bit.

SWV x64 - Admin v 6.1 SP7

App, Lib, Driver build = 6.4.1346

 

 

balachandar_manimala's picture

Hey Giles,

Ok! This reminds me of tryst with packaging Autodesk solutions that contains a bundle of products in single solution suite.

Suggestion from EdT is the right approach for packaging such applications.

Yet another way to deal with this is break down the packaging process, meaning separate packages for each of the pieces and then use the dependent package feature to get complete suite to work.

You could look into system-requirements for eachof the apps and put them on base and just package the application itself. When delivering to endpoints make sure they have the pre-reqs installed.

Regards,

Bala

Iskyfly's picture

EdT and Bala.

Thanks for the reply. As I am new to virtualizing apps (why couldn't they just give me winzip to virtualize, haha!) and semi new to Altiris I am guessing this is simply something learned with / from experienece.

My understanding of virtualization is that it doesn't matter what is already on the destination system because virtualization "hides" the virtualized product(s) from the OS thereby making it a complete package dependent on itself only. In other words, regardless if the destination system already had a version of .net equal to or greater than the pre-req for the application being virtualized the virtualization process would have included the .net component from the install CD and the virtualized app (GNAV) should only see that. Is that not the case?

 

Thanks!

Giles

 

EdT's picture

You cannot make such general assumptions about virtualisation as each solution has different properties. For example, the Microsoft App/V product had severe limitations as there was no communication possible between different virtual apps whereas the SWV product has always had the ability for separate virtualised apps to "see" each other.

Also, you cannot generalise that virtualised apps are totally separated from the operating system and apps installed in the base. For a start, each virtual layer can be assigned a priority which is higher or lower than the operating system priority and this priority can determine where the operating system will look first for resources.

Finally, you need to really consider whether you want to include things like .NET in a layer at all. After all, .NET is used by many different applications and it is inefficient to have this in multiple virtual packages. Also, Microsoft are regularly rolling out bugfixes for their operating systems and runtimes, so do you really want the overhead of updating every package with .NET in it every time MS release a hotfix?  Far better to create an operating system build with all the necessary runtimes in the base, thus providing one single point of maintenance. If you must package a runtime like .NET as a virtual app, make it the only content of that virtual app and deploy it alongside any other app that needs this runtime. Then you still have only one virtual app to maintain with hotfixes.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.