Community Forums
Results 1 to 3 of 3

Thread: .prq for Microsoft .NET Framework 4.6.1 Full

Hybrid View

  1. #1
    Join Date
    Nov 2004
    Posts
    45

    .prq for Microsoft .NET Framework 4.6.1 Full

    Below is the text that can be used to create your own .prq file for the Microsoft .NET Framework 4.6.1 Full Prerequisite.
    +++++++++
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <SetupPrereq>
    <conditions>
    <condition Type="2" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" FileName="Version" ReturnValue="4.6.01055"/>
    </conditions>
    <operatingsystemconditions>
    <operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="4" ServicePackMajorMin="1"/>
    <operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="4"/>
    <operatingsystemcondition MajorVersion="10" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="4"/>
    </operatingsystemconditions>
    <files>
    <file LocalFile=".\Microsoft.net\4.6\Full\NDP461-KB3102436-x86-x64-AllOS-ENU.exe" URL="https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe" CheckSum="864056903748706E251FEC9F5D887EF9" FileSize="0,67681000"/>
    </files>
    <execute file="NDP461-KB3102436-x86-x64-AllOS-ENU.exe" cmdline="/q /norestart" cmdlinesilent="/q /norestart" returncodetoreboot="1641,3010"/>
    <properties Id="{B1C982A7-100D-4691-9DCF-F5986F404DD8}" Description="This prerequisite installs the .NET Framework 4.6.1 full standalone package."/>
    <behavior Reboot="32"/>
    </SetupPrereq>

    +++++++++

    Notes:
    The Conditions are set for 64bit only, Windows 7, Windows 8, Windows 10
    The download location is good as of 18 January 2016. No telling how long it will last.

    Help:
    For those new to making a Prerequisite .prq file:

    On your desktop create a new text file.
    Rename this file “Microsoft .NET Framework 4.6.1 Full.prq”
    Copy the above text to this new file. (Between the +++++)
    Move this new file to folder C:\Program Files (x86)\InstallShield\2015\SetupPrerequisites
    Open any InstallShield project
    Go to the Installation Designer tab > Application Data > Redistributables
    The list should now contain the new entry “Microsoft .NET Framework 4.6.1 Full”
    To the right of the list it will say “Needs to be downloaded”
    Right-click on the item Microsoft .NET Framework 4.6.1 Full.prq and select Download Selected Item…
    This downloads the 66 MB file to C:\Program Files (x86)\InstallShield\2015\SetupPrerequisites\Microsoft.net\4.6\Full\
    You should be good.

    To edit any of the Conditions:
    Right-click on the item Microsoft .NET Framework 4.6.1 Full.prq and select Edit Prerequisite

  2. #2
    Join Date
    Feb 2016
    Posts
    4
    Here is the code which checking the correct registry key:

    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <SetupPrereq>
      <conditions>
        <condition Type="2" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" FileName="Release" ReturnValue="394254"/>
      </conditions>
      <operatingsystemconditions>
        <operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" ServicePackMajorMin="1"/>
        <operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion=""/>
        <operatingsystemcondition MajorVersion="6" MinorVersion="3" PlatformId="2" CSDVersion=""/>
        <operatingsystemcondition MajorVersion="10" MinorVersion="0" PlatformId="2" CSDVersion=""/>
      </operatingsystemconditions>
      <files>
        <file LocalFile=".\Microsoft.net\4.6\Full\NDP461-KB3102436-x86-x64-AllOS-ENU.exe" URL="https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe" CheckSum="864056903748706E251FEC9F5D887EF9" FileSize="0,67681000"/>
      </files>
      <execute file="NDP461-KB3102436-x86-x64-AllOS-ENU.exe" cmdline="/showrmui /passive " cmdlinesilent="/q /norestart" returncodetoreboot="1641,3010" requiresmsiengine="1"/>
      <properties Id="{D88AEC72-8F72-4075-B2EA-1FF6363E0E51}" Description="This prerequisite installs the .NET Framework 4.6.1 full standalone package."/>
      <behavior Reboot="2"/>
    </SetupPrereq>
    The Release key should be used instead of Version:
    https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx
    Flexera's prq files are checking this also.

    Help for major/minor:
    https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx

    WARNING: In case of Windows Server the installer MAY restart the machine automatically. To avoid this, change the reboot behavior in the XML.
    Last edited by Levente0xFFFF; 02-23-2016 at 05:54 AM.

  3. #3
    Join Date
    Jul 2007
    Posts
    5

    Certificate chain error

    I'm trying to create an installer that will also run on machines that are not connected to the internet, and I get an error while installshield tries to install .Net framework 4.6.2.
    When trying to install it manually, I get:

    .Net Framework 4.6.2 has not been installed because:
    A certificate chain could not be build to a trusted root authority.



    It looks like an issue with a missing certificate (for example, a machine that was not connected to the internet since windows was installed):
    https://blogs.msdn.microsoft.com/vsn...t-authority-2/


    I have few solutions. The first one is extracting the exe into files and running either the x86 or the x64 installer (msi in this case). When extracting the files, I get 1.6GBs from the 60MBs files. (There are several cabs inside it, where they are packed into 0 bytes.
    Trying to pack it back into a rar file results a ~350MB file.
    This is not ideal for the setup. (I'm trying to estimate the gained size of the setup due to the extraction of the .Net framework, since installshield will repack it).


    The second option is to run certmgr or certutil and insert the certificate into the machine prior the installation of the .net framework.
    Has anyone done this?
    How should I do it? where? (as a prerequisite as well, that will check if the certificate exists in the registry? Do I need to run a different certutil depending on the platform: x86 or x64?
    How do I run the certutil? it is located in c:\windows\system32, but I cannot grantee that it will be located on each machine on the same place)

    Any tips and solutions will be welcome.

    Thanks

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •