none
HPC 2012 R2 Redistributable 'package' for visual studio 2015

    Question

  • Hi,

    I am trying to create a HPC client utilities redistributable as a 'pre-requistie' for one of my applications in VS 2015.

    Anyone has a package readily available for this redistributable to plug into VS2015 click once wizard?

    I know I can create a new one - But I am sort of lost while creating a 'product manifest' as described here -- - https://msdn.microsoft.com/en-us/library/ee335701.aspx

    Essentially things like url for webbootstrapper , install checks, install conditions  and exit codes are something I am not fully aware of as far as HPC 2012 R2 client redist package is concerned.

    edit1: just realized that orca tool from microsoft may be able to help me with the product guid etc of the client utils msi, but still wonder if there is a package that some one already implemented it

    edit2: even with orca, i could not figure out what the command line parameters would be to invoke client utils msi in an 'unattend' mode.





    • Edited by SRIRAM R Friday, July 8, 2016 5:37 PM
    Thursday, July 7, 2016 8:48 PM

Answers

  • Thanks. I was able to add hpc client utils to my clickonce windows forms app.

    I am using Visual studio 2015 - so here are the steps if someone else needs it:

    1) create a folder under C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages and call it "HpcClient_x64" (any name will do)

    2)  Under that folder, 

    a) create a sub folder called 'en'

            b) create an empty file called "product.xml"

            c) copy hpcclient_x64.msi file to this folder (download it from Microsoft, if needed)

    3)  Inside the 'en' folder created in 2 (a) above, create an empty file called "package.xml"

    4) so the structure would be:


    C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\HPCClient_x64

                    + en

                     + package.xml

                     + hpcclient_x64.msi

                     + product.xml

    5) paste the following contents to package.xml under en folder and save that file:

    <?xml version="1.0" encoding="utf-8" ?>
    
    <Package
        xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
        Name="DisplayName"
        Culture="Culture"
        >
        <!-- Defines a localizable string table for error messages-->
        <Strings>
            <String Name="DisplayName">HPC Client Utilities (x64)</String>
            <String Name="Culture">en</String>
            <String Name="AdminRequired">You do not have the permissions required to install HPC Client Utilities (x64). Please contact your administrator.</String>
            <String Name="InvalidOS">Installation of HPC Client Utilities (x64) is supported only on x64 machines.</String>
            <String Name="GeneralFailure">A failure occurred attempting to install HPC Client Utilities (x64).</String>
            <String Name="HpcClientRedistMsi">https://download.microsoft.com/download/4/B/6/4B66855F-0536-492A-9B1E-5DC6230E27C4/HpcClient_x64.Msi</String>
        </Strings>
    </Package>
    

    6) paste the following contents to product.xml and save that file:

    <?xml version="1.0" encoding="utf-8" ?> 
    
    <Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="HpcClient.Utilities.x64">
    
      <!-- Defines list of files to be copied on build -->
      <PackageFiles CopyAllPackageFiles="false">
        <PackageFile Name="HpcClient_x64.Msi" HomeSite="HpcClientRedistMsi" />
      </PackageFiles>
    
      <InstallChecks>
        <MsiProductCheck Property="IsMsiInstalled" Product="{63235828-843B-49E0-93A8-A0571EB6169A}"/>
      </InstallChecks>
    
      <!-- Defines how to invoke the setup for the HPC Client redist -->
      <Commands>
        <Command PackageFile="HpcClient_x64.Msi" Arguments=''>
    
          <!-- These checks determine whether the package is to be installed -->
          <InstallConditions>
            <BypassIf Property="IsMsiInstalled" Compare="ValueGreaterThanOrEqualTo" Value="0"/>
            <!-- Block install if user does not have admin privileges -->
            <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
            <!-- Block install on any platform other than x64 -->
            <FailIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="AMD64" String="InvalidOS"/>
            <!-- Block install on Vista or below -->
            <FailIf Property="VersionNT" Compare="VersionLessThan" Value="6.00" String="InvalidPlatformWinNT"/>
          </InstallConditions>
    
          <ExitCodes>
            <ExitCode Value="0" Result="Success"/>
            <ExitCode Value="3010" Result="SuccessReboot"/>
            <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
          </ExitCodes>
    
        </Command>
      </Commands>
    </Product>
    
    7) restart visual studio, open the project properties -> publish tab -> prerequisites and it will be there!!

    • Marked as answer by SRIRAM R Wednesday, July 13, 2016 3:32 PM
    Wednesday, July 13, 2016 3:31 PM

All replies

  • Hi Sriram,

    Sorry we don't have a manifest in place, but i can answer you two questions:

    1. Product Guid for HpcClient_x86.msi is 1BF24E11-D39A-41E7-9551-AD1DBE0FE18E, and that for HpcClient_x64.msi is 63235828-843B-49E0-93A8-A0571EB6169A

    2. The unattend installation is to add a "/qn" as a msioption argument (see https://technet.microsoft.com/en-sg/library/cc759262(v=ws.10).aspx). So I suppose the below command shall work.

     <Command PackageFile="HpcClient_x64.msi" Arguments="/qn">


    • Edited by Sunbin Zhu Monday, July 11, 2016 5:13 AM
    Monday, July 11, 2016 5:13 AM
  • Thanks. I was able to add hpc client utils to my clickonce windows forms app.

    I am using Visual studio 2015 - so here are the steps if someone else needs it:

    1) create a folder under C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages and call it "HpcClient_x64" (any name will do)

    2)  Under that folder, 

    a) create a sub folder called 'en'

            b) create an empty file called "product.xml"

            c) copy hpcclient_x64.msi file to this folder (download it from Microsoft, if needed)

    3)  Inside the 'en' folder created in 2 (a) above, create an empty file called "package.xml"

    4) so the structure would be:


    C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\HPCClient_x64

                    + en

                     + package.xml

                     + hpcclient_x64.msi

                     + product.xml

    5) paste the following contents to package.xml under en folder and save that file:

    <?xml version="1.0" encoding="utf-8" ?>
    
    <Package
        xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
        Name="DisplayName"
        Culture="Culture"
        >
        <!-- Defines a localizable string table for error messages-->
        <Strings>
            <String Name="DisplayName">HPC Client Utilities (x64)</String>
            <String Name="Culture">en</String>
            <String Name="AdminRequired">You do not have the permissions required to install HPC Client Utilities (x64). Please contact your administrator.</String>
            <String Name="InvalidOS">Installation of HPC Client Utilities (x64) is supported only on x64 machines.</String>
            <String Name="GeneralFailure">A failure occurred attempting to install HPC Client Utilities (x64).</String>
            <String Name="HpcClientRedistMsi">https://download.microsoft.com/download/4/B/6/4B66855F-0536-492A-9B1E-5DC6230E27C4/HpcClient_x64.Msi</String>
        </Strings>
    </Package>
    

    6) paste the following contents to product.xml and save that file:

    <?xml version="1.0" encoding="utf-8" ?> 
    
    <Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="HpcClient.Utilities.x64">
    
      <!-- Defines list of files to be copied on build -->
      <PackageFiles CopyAllPackageFiles="false">
        <PackageFile Name="HpcClient_x64.Msi" HomeSite="HpcClientRedistMsi" />
      </PackageFiles>
    
      <InstallChecks>
        <MsiProductCheck Property="IsMsiInstalled" Product="{63235828-843B-49E0-93A8-A0571EB6169A}"/>
      </InstallChecks>
    
      <!-- Defines how to invoke the setup for the HPC Client redist -->
      <Commands>
        <Command PackageFile="HpcClient_x64.Msi" Arguments=''>
    
          <!-- These checks determine whether the package is to be installed -->
          <InstallConditions>
            <BypassIf Property="IsMsiInstalled" Compare="ValueGreaterThanOrEqualTo" Value="0"/>
            <!-- Block install if user does not have admin privileges -->
            <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
            <!-- Block install on any platform other than x64 -->
            <FailIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="AMD64" String="InvalidOS"/>
            <!-- Block install on Vista or below -->
            <FailIf Property="VersionNT" Compare="VersionLessThan" Value="6.00" String="InvalidPlatformWinNT"/>
          </InstallConditions>
    
          <ExitCodes>
            <ExitCode Value="0" Result="Success"/>
            <ExitCode Value="3010" Result="SuccessReboot"/>
            <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
          </ExitCodes>
    
        </Command>
      </Commands>
    </Product>
    
    7) restart visual studio, open the project properties -> publish tab -> prerequisites and it will be there!!

    • Marked as answer by SRIRAM R Wednesday, July 13, 2016 3:32 PM
    Wednesday, July 13, 2016 3:31 PM
  • Thanks for sharing!
    Monday, July 18, 2016 5:25 AM