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