Hello all! 

I need to check if .net 4.5 is installed on the system, and if not, install
it through my MSI. 


Can someone please give me some pointers on how to achieve this? I am a WIX
newbie, so any detailed help will be very useful to me ... I am pasting my
.wxs file below .. 

Thanks, 
Nikhil. 

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>

  <Product Id="*" Name="SolidFire Hardware Provider" Language="1033"
Version="1.0.0.0" Manufacturer="SolidFire"
UpgradeCode="0c60967f-f184-4b8b-a96a-b1caa4a8879e">
    
    <Package InstallerVersion="405" Compressed="yes"
InstallScope="perMachine" />
    
    <Condition Message="You need to be an administrator to install this
product.">Privileged</Condition>

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is
already installed." />
    <MediaTemplate EmbedCab='yes'/>
    <PropertyRef Id="NETFRAMEWORK45"/>

    
    <Feature Id="ProductFeature" Title="InstallProvider" Level="1">
      <ComponentGroupRef Id="ProductComponents" />
    </Feature>
    <Feature Id="VCRedistcrt" Title="Visual C++ Runtime" AllowAdvertise="no"
Display="hidden" Level="1">
      <MergeRef Id="VCRedistcrt"/>
    </Feature>
    <Feature Id="VCRedist" Title="Visual C++ Runtime" AllowAdvertise="no"
Display="hidden" Level="1">
      <MergeRef Id="VCRedistatl"/>
    </Feature>
    <UI>
      
      <Publish Dialog="ExitDialog" 
      Control="Finish" 
      Event="DoAction" 
      Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT
Installed</Publish>
    </UI>
    
    

    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" ></Property>
    <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch Config
Utility" />
    <Property Id="WixShellExecTarget" Value="[#configutility]" />
    
    <CustomAction Id="LaunchApplication" BinaryKey="WixCA"
DllEntry="WixShellExec" Impersonate="yes" />
    
    
    <UIRef Id="WixUI_InstallDir"/>

    <InstallExecuteSequence>
      <Custom Action="RunInstallScript" After="InstallFiles" >NOT
Installed</Custom>
    </InstallExecuteSequence>
    <InstallExecuteSequence>
      
      
      <Custom Action='BeforeUninstall' Before='RemoveFiles'>Installed AND
(NOT REINSTALL)</Custom>
    </InstallExecuteSequence>
    <CustomAction Id="RunInstallScript" ExeCommand="cmd /c
install-solidfireprovider.cmd > install.log" Directory="INSTALLFOLDER"
Execute="deferred" Impersonate="no" Return="check"/> 
    <CustomAction Id="BeforeUninstall" ExeCommand="cmd /c
uninstall-solidfireprovider.cmd > install.log" Directory="INSTALLFOLDER"
Execute="deferred" Impersonate="no" Return="check"/> 
  </Product>

  
  <Fragment>
    <DirectoryRef Id="TARGETDIR">
      <Merge Id="VCRedistatl" SourceFile="$(env.CommonProgramFiles)\Merge
Modules\Microsoft_VC110_ATL_x64.msm" DiskId="1" Language="0"/>
    </DirectoryRef>
  </Fragment>

  <Fragment>
    <DirectoryRef Id="TARGETDIR">
      <Merge Id="VCRedistcrt" SourceFile="$(env.CommonProgramFiles)\Merge
Modules\Microsoft_VC110_CRT_x64.msm" DiskId="1" Language="0"/>
    </DirectoryRef>
  </Fragment>

  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFiles64Folder">
        <Directory Id="INSTALLFOLDER" Name="solidfireinstall" />
      </Directory>
    </Directory>
  </Fragment>

  <Fragment>

    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
      
      <Component Id="ProductComponent">
        
        <File Id="restinterfacedll.dll" 
         
Source="..\..\vssprovider\x64\$(var.build)\RESTInterfacedll.dll"></File>
      </Component>

      <Component Id="vssdll">
        <File Id="vsssolidfireprovider.dll" 
         
Source="..\..\vssprovider\x64\$(var.build)\vsssolidfireprovider.dll"
></File>
        <ServiceControl Id='ControlVssProviderService' 
Name='VssSolidFireProvider' 
                             Stop='uninstall' Wait='yes' />

        <ServiceControl Id='ControlVssService' Name='vss' 
                             Stop='uninstall' Wait='yes' />
        
      </Component>
      
      
      
      <Component Id="installscript">
        <File Id="installscript" 
          Source="..\install-solidfireprovider.cmd"></File>
      </Component>

      <Component Id="uninstallscript">
        <File Id="uninstallscript" 
          Source="..\uninstall-solidfireprovider.cmd"></File>
      </Component>

      <Component Id="registerprovider">
        <File Id="registerprovider" 
          Source="..\register_app.vbs"></File>
      </Component>


      <Component Id="vshadow">
        <File Id="vshadow" 
          Source="..\vshadow.exe"></File>
      </Component>

      <Component Id="configutility">
        <File Id="configutility" 
         
Source="..\..\configutility\bin\x64\$(var.build)\SolidFireConfigUtility.exe"></File>
      </Component>

      <Component Id="clusterinfo">
        <File Id="clusterinfo.bin" 
          Source="..\ClusterInfo.bin"></File>
      </Component>

      <Component Id="installlog">
        <File Id="install.log" 
          Source="..\install.log"></File>
      </Component>




    </ComponentGroup>
    
  </Fragment>


</Wix>



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/help-how-do-I-install-net-4-5-from-my-installer-tp7588996.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to