none
Prerequisite components won't install in the order specified

    Question

  • 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,



    Sunday, May 20, 2012 7:54 PM

All replies

  • 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.

    http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/07d3eaf5-cb52-412f-9f13-f9ffd8e2876b/#7567d45f-14ec-4560-970c-a3c2afb19f09


    Best Regards Sanjay Pant [Metadesign Solutions]

    Monday, May 21, 2012 4:21 AM
  • 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,



    Monday, May 21, 2012 7:39 PM
  • 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 4:53 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,





    Tuesday, May 22, 2012 10:39 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 11:26 AM
  • 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.




    Tuesday, May 22, 2012 6:01 PM
  • 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

    Thursday, May 31, 2012 4:49 AM
    Moderator
  • 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,


    Tuesday, June 05, 2012 10:23 AM
  • 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.

    Thursday, October 04, 2012 10:49 PM