Prerequisite components won't install in the order specified
-
Sunday, May 20, 2012 7:54 PM
Hi,everyone,
I got Visual Studio to create setup program to install prerequisite components for my application including ".Net Framework 3.5 SP1","SQL Server 2008 Server","SAP Crystal Reports Runtime Engine for .Net Framework 4.0" and eventually "Windows Installer 4.5" and I set the install location for them to be the same as my application,copying the Bootstrapper packages for the components to the publish location.Yet,the problem is that setup kicks off the installation of "SAP Crystal Reports Runtime" prior to ".Net Framework 3.5",resulting in the whole thing to fail.To fore the installation of ".Net Framework",I tweaked the "product" Xml kind of file inside the "SAP Crystal Reports.." package as follows:
<RelatedProducts> <!--<DependsOnProduct Code="Microsoft.Net.Framework.2.0" />--> <DependsOnProduct Code="Microsoft.Net.Framework.3.5.SP1"/> <DependsOnProduct Code="Microsoft.Data.Access.Components.2.8" /> </RelatedProducts>But It did nothing to sort out the problem and "SAP Crystal Reports Runtime" keeps trying to install first.I don't have the faintest idea of what's going wrong.I really wonder if anyone could give an insight to get it solved.
Below,I'd include an excerpt of the error log in case it could help you figure out the problem.
The following properties have been set:
Property: [AdminUser] = true {boolean}
Property: [InstallMode] = SameSite {string}
Property: [ProcessorArchitecture] = Intel {string}
Property: [VersionNT] = 5.1.3 {version}
Running checks for package 'SAP Crystal Reports Runtime Engine for .NET Framework 4.0', phase BuildList
Reading value 'BuildNum' 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 'CRBuildNum'
The following properties have been set for package 'SAP Crystal Reports Runtime Engine for .NET Framework 4.0':
Running checks for command 'Crystal Reports for .NET Framework 4.0\CRRuntime_32bit_13_0.msi'
Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'Intel': false
Result of running operator 'ValueExists' on property 'CRBuildNum': false
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Skipping FailIf because Property 'Version9x' was not defined
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.00': false
Result of checks for command 'Crystal Reports for .NET Framework 4.0\CRRuntime_32bit_13_0.msi' is 'Install'
Running checks for command 'Crystal Reports for .NET Framework 4.0\CRRuntime_64bit_13_0.msi'
Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'AMD64': true
Result of checks for command 'Crystal Reports for .NET Framework 4.0\CRRuntime_64bit_13_0.msi' is 'Bypass'
'SAP Crystal Reports Runtime Engine for .NET Framework 4.0' RunCheck result: Install Needed
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 '4.5.6001.22299'
Setting value '4.5.6001.22299 {version}' for property 'VersionMsiDll'
The following properties have been set for package 'Windows Installer 4.5':
Property: [VersionMsiDll] = 4.5.6001.22299 {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'.
.
.
File trusted
Running checks for package 'SAP Crystal Reports Runtime Engine for .NET Framework 4.0', phase BeforePackage
Reading value 'BuildNum' 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 'CRBuildNum'
The following properties have been set for package 'SAP Crystal Reports Runtime Engine for .NET Framework 4.0':
Running checks for command 'Crystal Reports for .NET Framework 4.0\CRRuntime_32bit_13_0.msi'
Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'Intel': false
Result of running operator 'ValueExists' on property 'CRBuildNum': false
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Skipping FailIf because Property 'Version9x' was not defined
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.00': false
Result of checks for command 'Crystal Reports for .NET Framework 4.0\CRRuntime_32bit_13_0.msi' is 'Install'
'SAP Crystal Reports Runtime Engine for .NET Framework 4.0' RunCheck result: Install Needed
Verifying file integrity of C:\DOCUME~1\MEHRNE~1\LOCALS~1\Temp\VSD13.tmp\Crystal Reports for .NET Framework 4.0\CRRuntime_32bit_13_0.msi
WinVerifyTrust returned 0
File trusted
Installing using command 'C:\WINDOWS\system32\msiexec.exe' and parameters ' -I "C:\DOCUME~1\MEHRNE~1\LOCALS~1\Temp\VSD13.tmp\Crystal Reports for .NET Framework 4.0\CRRuntime_32bit_13_0.msi" -q '
Process exited with code 1603
Status of package 'SAP Crystal Reports Runtime Engine for .NET Framework 4.0' after install is 'InstallFailed'
Status of package '.NET Framework 3.5 SP1' after install is 'InstallNeeded'Thanks a lot,
- Edited by Meisam Dehghan Sunday, May 20, 2012 7:56 PM
- Edited by Meisam Dehghan Sunday, May 20, 2012 8:03 PM
All Replies
-
Monday, May 21, 2012 4:21 AM
Hi Meisam,
you can easily control the order of execution by adding single custom prerequsite exe.
Just make an exe file that will do all the stuff of installation and you can control the the execution flow as you want, configure that exe as a custom prerequsite.
check this thread.
Best Regards Sanjay Pant [Metadesign Solutions]
-
Monday, May 21, 2012 7:39 PM
Hi,Sanjay
Thanks for answering.
Actually,I know how to control the order in which prerequisite components are supposed to install using Clickonce technology,which is to edit the XML "product" file inside the bootstrapper packages as explained in the following thread:
How do specify the install order of prerequisite components using Clickonce
However,The problem is why the "Crystal Reports for .NET Framework 4.0" tries to install before ".Net Framework 3.5 SP1",which results to the whole setup to fail!
As far as I'm concerned,It could be due to the bootstrapper package for "SAP Crystal Reports Runtime for .Net Framework 4" and the reason why I'm jumping to this conclusion is if you try to run the setup with ".Net Framework" already install,everything works smoothly
I wonder if anyone could drop a hint as to what's going on?
Thanks in advance,
- Edited by Meisam Dehghan Monday, May 21, 2012 7:45 PM
- Edited by Meisam Dehghan Monday, May 21, 2012 7:53 PM
-
Tuesday, May 22, 2012 4:53 AM
HI Meisam,
If need to install .net framework before Crystal report runtime, Can you verify few things on your machine,
you mention "Crystal Reports for .NET Framework 4.0" and you trying to install ".Net Framework 3.5 SP1"?
why don't you try using Framework 4.0.
Similar Issue:
http://social.msdn.microsoft.com/Forums/eu/winformssetup/thread/57b42f10-9066-4fd5-85e6-dfcc8051a1dc
Is this package with product code ".Net Framework 3.5 SP1" is available on your machine at the path "....Windows\v7.0A\Bootstrapper\Packages" if using VS 2010, otherwise "...Windows\v6.0A\Bootstrapper" for VS 2008.
Best Regards Sanjay Pant [Metadesign Solutions]
-
Tuesday, May 22, 2012 10:39 AM
Hi,Sanjay.I'm so grateful for your help
Well,I read your provided link which exactly deals with the same problem as mine but the solution didn't work for me.As pointed out,I set the ".Net Framework 4" instead of ".Net Framework 3.5 SP1" as the prerequisite to be installed.Just the same,the problem persists,"SAP Crystal Reports Runtime for .Net Framework 4" still keeps trying to install first!! I'm really at my wits' end...
I guess the problem lies in the part of the error log that says:
Running checks for package 'SAP Crystal Reports Runtime Engine for .NET Framework 4.0', phase BuildList
Reading value 'BuildNum' 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 'CRBuildNum'...What about you?
Thanks a lot,
- Edited by Meisam Dehghan Tuesday, May 22, 2012 10:40 AM
- Edited by Meisam Dehghan Tuesday, May 22, 2012 10:43 AM
- Edited by Meisam Dehghan Tuesday, May 22, 2012 10:44 AM
- Edited by Meisam Dehghan Tuesday, May 22, 2012 10:44 AM
- Edited by Meisam Dehghan Tuesday, May 22, 2012 10:51 AM
-
Tuesday, May 22, 2012 11:26 AM
HI Meisam,
Have you try running your setup.exe as Admin, In case of windows7 and Server 2008 there is an option with the exe file when right click on it => Run as Administrator.
I had faced similar situation in past when my installation crash when trying to access registry or some windows utility I am doing things in single customize prerequsite exe so it stops further processing.
In windows 7 or Server 2008 it is recommended to use run as administrator option, otherwise you may fail to access the registry/windows Utility.
Best Regards Sanjay Pant [Metadesign Solutions]
-
Tuesday, May 22, 2012 6:01 PM
Hi,Sajay
In fact,I already ran the setup as Windows Administrator but It didn't make any difference.
In the meantime,One thing I figured out is the prerequisite components' install order is determined as the application is being published using Clickonce and the way I got it was I deleted the XML "product" file inside bootstrapper packages but the setup ran just as before.
By the way,How about I change the content of XML "product" file inside "Crystal Reports for .NET Framework 4.0" to only install the 32bit version of it?
Thanks so much for your help.
- Edited by Meisam Dehghan Tuesday, May 22, 2012 6:10 PM
- Edited by Meisam Dehghan Tuesday, May 22, 2012 6:20 PM
- Edited by Meisam Dehghan Tuesday, May 22, 2012 6:32 PM
-
Thursday, May 31, 2012 4:49 AMModerator
Hi Meisam,
I would take out the SP1 and try it. I'm guessing that it's not recognized, try just .NET 3.5. After all, you can't specify .NET 3.5 SP-1 as a prerequisite, just .NET 3.5.
RobinDotNet
Click here to visit my ClickOnce blog!
Microsoft MVP, Client App Dev -
Tuesday, June 05, 2012 10:23 AM
Hi Robin,
Actually,The problem persists even with "Microsoft .Net Framework 4" set as a prerequisites.So,to the best of my knowlodge,the problem lies in somewhere else.What do you think?
Thanks,
- Edited by Meisam Dehghan Tuesday, June 05, 2012 6:12 PM
-
Thursday, October 04, 2012 10:49 PM
If you check the product.xml for .NET Framework 4 the actual product code for it is ".NETFramework,Version=v4.0". The product code for 3.5 with sp1 is "Microsoft.Net.Framework.3.5.SP1", so what you posted is correct. You said you tried 4.0 but didnt post what you actually put into your product.xml. My initial reaction was, I'm assuming similar to yours, to use "Microsoft.Net.Framework.4.0". Once it didn't work I decided to check out the product.xml on several others, including .Net Framework 4 and thats when I noticed a different naming convention on the product code. Once I put the correct product code in, it no longer tried to install Crystal Reports first. This only partially fixed my problem but I hope it helps you and others having an issue with install order.


