Click here to Skip to main content
15,886,362 members
Articles / Desktop Programming / MFC

dotNetInstaller - Setup Bootstrapper for .NET Application

Rate me:
Please Sign up or sign in to vote.
4.96/5 (87 votes)
4 Jan 2004MIT22 min read 1M   2.2K   310  
With this tool the developer can define the application prerequisites and install the correct version of these components in the correct order based on the user operating system type and language, allow the user to download these components from the web or install these components directly.
<configurations>
  <configuration type="install" lcid="1040" dialog_caption="SampleApp Installer" dialog_message="Per installare SampleApp e' necessario aggiornare questi componenti:" dialog_bitmap="#APPPATH\banner.bmp" install_caption="Installa" cancel_caption="Chiudi" reinstallflag_caption="Reinstalla tutti i componenti" status_installed=" (Installato)" status_notinstalled="" failed_exec_command_continue="Impossibile installare %s. Continuare l'installazione?" installation_completed="Installazione di SampleApp completata !" dialog_install_next="Avanti" dialog_install_skip="Annulla" installing_component_wait="Installazione di %s in corso. Attendere, l'operazione potrebbe richiedere alcuni minuti ..." reboot_required="Per completare l'installazione e' necessario riavviare il computer. Riavviare ora?">
    <components>
      <component os_filter_greater="29" os_filter_smaller="40" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Windows NT 4 Service Pack 6a Italiano" installmessage="Premi avanti per installare il Service Pack 6a di Windows NT4 (Italiano)" note="" command="&quot;#APPPATH\SupportFiles\ServicePack\NT4_SP6a_Italiano\SP6I386.EXE&quot;" />
      <component os_filter_greater="44" os_filter_smaller="65" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Windows 2000 Serve Pack 4 Italiano" installmessage="Premi avanti per installare il Service Pack 4 di Windows 2000 (Italiano)" note="" command="&quot;#APPPATH\SupportFiles\ServicePack\2000_SP4_Italiano\w2ksp4_it.exe&quot;" />
      <component os_filter_greater="" os_filter_smaller="" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Internet Explorer 6 Sp1 (5.5 minimo)" installmessage="Premi avanti per installare Microsoft Internet Explorer 6 Sp1 Italiano" note="" command="&quot;#APPPATH\SupportFiles\InternetExplorer\IE60SP1_Italiano\ie6setup.exe&quot;">
        <installedcheck type="check_registry_value" path="SOFTWARE\Microsoft\Internet Explorer" fieldname="Version" fieldvalue="5.50.4134.0100" fieldtype="REG_SZ" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="20" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Aggiornamento Anno 2000 1 di 2 per Windows 98" installmessage="Premi avanti per installare l'Aggiornamento anno 2000 1 di 2" note="" command="&quot;#APPPATH\SupportFiles\ServicePack\Win98_Y2k_Update_Italiano\y2k.exe&quot;">
        <installedcheck type="check_registry_value" path="Software\Microsoft\Active Setup\Installed Components\{E5925FA0-73D1-11D2-BCC5-0000F83002C6}" fieldname="Version" fieldvalue="4.10.0.2000" fieldtype="REG_SZ" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="20" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Aggiornamento Anno 2000 2 di 2 per Windows 98" installmessage="Premi avanti per installare l'Aggiornamento anno 2000 2 di 2" note="" command="&quot;#APPPATH\SupportFiles\ServicePack\Win98_Y2k_Update_Italiano\Y2KW98_2.EXE&quot;">
        <installedcheck type="check_registry_value" path="Software\Microsoft\Active Setup\Installed Components\{59bed740-046a-11d3-824e-0000f80697e6}" fieldname="Version" fieldvalue="4.10.0.2001" fieldtype="REG_SZ" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="45" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="True" description="Microsoft .NET Framework 1.1" installmessage="Premi avanti per installare Microsoft .Net Framework 1.1" note="" command="&quot;#APPPATH\SupportFiles\dotNet\v1.1\Italiano\dotnetfx.exe&quot; /q:a /c:&quot;install /l /qb&quot;">
        <installedcheck type="check_registry_value" path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" fieldname="Install" fieldvalue="1" fieldtype="REG_DWORD" comparison="match" />
      </component>
      <component os_filter_greater="44" os_filter_smaller="90" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft .NET Framework 1.1" installmessage="Premi avanti per installare Microsoft .Net Framework 1.1" note="" command="&quot;#APPPATH\SupportFiles\dotNet\v1.1\Italiano\dotnetfx.exe&quot; /q:a /c:&quot;install /l /qb&quot;">
        <installedcheck type="check_registry_value" path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" fieldname="Install" fieldvalue="1" fieldtype="REG_DWORD" comparison="match" />
      </component>
      <component os_filter_greater="" os_filter_smaller="75" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft Data Access Components 2.7" installmessage="Premi avanti per installare Microsoft Data Access Components 2.7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\MDAC2.7Sp1Refresh\Win_98_ME_NT_2000\mdac_typ.exe&quot; /q">
        <installedcheck type="check_registry_value" path="SOFTWARE\Microsoft\DataAccess" fieldname="Version" fieldvalue="2.71.0.0" fieldtype="REG_SZ" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="25" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft JET 4.0 Sp7" installmessage="Premi avanti per installare Microsoft JET 4.0 Sp7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\Jet\Jet40Sp7\Win9x_NT\Jet40SP7_9xNT.exe&quot; /q">
        <installedcheck type="check_file" filename="#SYSTEMPATH\Msjet40.dll" fileversion="4.0.7328.0" comparison="version" />
      </component>
      <component os_filter_greater="24" os_filter_smaller="26" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft JET 4.0 Sp7" installmessage="Premi avanti per installare Microsoft JET 4.0 Sp7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\Jet\Jet40Sp7\WinME\Jet40SP7_WMe.exe&quot; /q">
        <installedcheck type="check_file" filename="#SYSTEMPATH\Msjet40.dll" fileversion="4.0.7328.0" comparison="version" />
      </component>
      <component os_filter_greater="44" os_filter_smaller="75" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft JET 4.0 Sp7" installmessage="Premi avanti per installare Microsoft JET 4.0 Sp7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\Jet\Jet40Sp7\Win2000_Italiano\Windows2000-KB282010-x86-ITA.exe&quot; -q">
        <installedcheck type="check_file" filename="#SYSTEMPATH\Msjet40.dll" fileversion="4.0.7328.0" comparison="version" />
      </component>
      <component os_filter_greater="74" os_filter_smaller="81" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft JET 4.0 Sp7" installmessage="Premi avanti per installare Microsoft JET 4.0 Sp7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\Jet\Jet40Sp7\WinXp_Italiano\WindowsXP-KB282010-x86-ITA.exe&quot; -q">
        <installedcheck type="check_file" filename="#SYSTEMPATH\Msjet40.dll" fileversion="4.0.7328.0" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="" os_filter_lcid="" type="msi" installcompletemessage="" mustreboot="False" description="SampleApp 1.0.4" installmessage="Premi avanti per installare SampleApp 1.0.4" note="" package="#APPPATH\SampleApp.msi" cmdparameters="">
        <installedcheck type="check_registry_value" path="SOFTWARE\MyCompany\SampleApp\1.0.4.4" fieldname="Install" fieldvalue="1" fieldtype="REG_DWORD" comparison="match" />
      </component>
    </components>
  </configuration>
  <configuration type="install" lcid="" dialog_caption="SampleApp Installer" dialog_message="In order to install SampleApp you must first upgrade this components:" dialog_bitmap="#APPPATH\banner.bmp" install_caption="Install" cancel_caption="Close" reinstallflag_caption="Reinstall all components" status_installed=" (Installed)" status_notinstalled="" failed_exec_command_continue="Failed to install %s. Continue with others components?" installation_completed="SampleApp installed successfully !" dialog_install_next="Next" dialog_install_skip="Cancel" installing_component_wait="Installing %s . Wait, this operation could take some time ..." reboot_required="To continue the installation you must restart you computer. Restart now?">
    <components>
      <component os_filter_greater="29" os_filter_smaller="40" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Windows NT 4 Service Pack 6a English" installmessage="Click Next to install Service Pack 6a for Windows NT4 (English)" note="" command="&quot;#APPPATH\SupportFiles\ServicePack\NT4_SP6a_English\sp6i386.exe&quot;" />
      <component os_filter_greater="44" os_filter_smaller="65" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Windows 2000 Serve Pack 4 English" installmessage="Click Next to install Service Pack 4 for Windows 2000 (English)" note="" command="&quot;#APPPATH\SupportFiles\ServicePack\2000_SP4_English\W2KSP4_EN.EXE&quot;" />
      <component os_filter_greater="" os_filter_smaller="" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Internet Explorer 6 Sp1 (5.5 required)" installmessage="Click Next to install Microsoft Internet Explorer 6 Sp1 English" note="" command="&quot;#APPPATH\SupportFiles\InternetExplorer\IE60SP1_English\ie6setup.exe&quot;">
        <installedcheck type="check_registry_value" path="SOFTWARE\Microsoft\Internet Explorer" fieldname="Version" fieldvalue="5.50.4134.0100" fieldtype="REG_SZ" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="20" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Upgrade year 2000 1 of 2 for Windows 98" installmessage="Click Next to install Upgrade year 2000 1 of 2" note="" command="&quot;#APPPATH\SupportFiles\ServicePack\Win98_Y2k_Update_English\y2k.exe&quot;">
        <installedcheck type="check_registry_value" path="Software\Microsoft\Active Setup\Installed Components\{E5925FA0-73D1-11D2-BCC5-0000F83002C6}" fieldname="Version" fieldvalue="4.10.0.2000" fieldtype="REG_SZ" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="20" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Upgrade year 2000 2 of 2 for Windows 98" installmessage="Click Next to install Upgrade year 2000 2 of 2" note="" command="&quot;#APPPATH\SupportFiles\ServicePack\Win98_Y2k_Update_English\Y2KW98_2.EXE&quot;">
        <installedcheck type="check_registry_value" path="Software\Microsoft\Active Setup\Installed Components\{59bed740-046a-11d3-824e-0000f80697e6}" fieldname="Version" fieldvalue="4.10.0.2001" fieldtype="REG_SZ" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="45" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="True" description="Microsoft .NET Framework 1.1" installmessage="Click Next to install Microsoft .Net Framework 1.1" note="" command="&quot;#APPPATH\SupportFiles\dotNet\v1.1\English\dotnetfx.exe&quot; /q:a /c:&quot;install /l /qb&quot;">
        <installedcheck type="check_registry_value" path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" fieldname="Install" fieldvalue="1" fieldtype="REG_DWORD" comparison="match" />
      </component>
      <component os_filter_greater="44" os_filter_smaller="90" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft .NET Framework 1.1" installmessage="Click Next to install Microsoft .Net Framework 1.1" note="" command="&quot;#APPPATH\SupportFiles\dotNet\v1.1\English\dotnetfx.exe&quot; /q:a /c:&quot;install /l /qb&quot;">
        <installedcheck type="check_registry_value" path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" fieldname="Install" fieldvalue="1" fieldtype="REG_DWORD" comparison="match" />
      </component>
      <component os_filter_greater="" os_filter_smaller="75" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft Data Access Components 2.7" installmessage="Click Next to install Microsoft Data Access Components 2.7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\MDAC2.7Sp1Refresh\Win_98_ME_NT_2000\mdac_typ.exe&quot; /q">
        <installedcheck type="check_registry_value" path="SOFTWARE\Microsoft\DataAccess" fieldname="Version" fieldvalue="2.71.0.0" fieldtype="REG_SZ" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="25" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft JET 4.0 Sp7" installmessage="Click Next to install Microsoft JET 4.0 Sp7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\Jet\Jet40Sp7\Win9x_NT\Jet40SP7_9xNT.exe&quot; /q">
        <installedcheck type="check_file" filename="#SYSTEMPATH\Msjet40.dll" fileversion="4.0.7328.0" comparison="version" />
      </component>
      <component os_filter_greater="24" os_filter_smaller="26" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft JET 4.0 Sp7" installmessage="Click Next to install Microsoft JET 4.0 Sp7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\Jet\Jet40Sp7\WinME\Jet40SP7_WMe.exe&quot; /q">
        <installedcheck type="check_file" filename="#SYSTEMPATH\Msjet40.dll" fileversion="4.0.7328.0" comparison="version" />
      </component>
      <component os_filter_greater="44" os_filter_smaller="75" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft JET 4.0 Sp7" installmessage="Click Next to install Microsoft JET 4.0 Sp7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\Jet\Jet40Sp7\Win2000_English\Windows2000-KB282010-x86-ENU.exe&quot; -q">
        <installedcheck type="check_file" filename="#SYSTEMPATH\Msjet40.dll" fileversion="4.0.7328.0" comparison="version" />
      </component>
      <component os_filter_greater="74" os_filter_smaller="81" os_filter_lcid="" type="cmd" installcompletemessage="" mustreboot="False" description="Microsoft JET 4.0 Sp7" installmessage="Click Next to install Microsoft JET 4.0 Sp7" note="" command="&quot;#APPPATH\SupportFiles\DataAccess\Jet\Jet40Sp7\WinXp_English\WindowsXP-KB282010-x86-ENU.exe&quot; -q">
        <installedcheck type="check_file" filename="#SYSTEMPATH\Msjet40.dll" fileversion="4.0.7328.0" comparison="version" />
      </component>
      <component os_filter_greater="" os_filter_smaller="" os_filter_lcid="" type="msi" installcompletemessage="" mustreboot="False" description="SampleApp 1.0.4" installmessage="Click Next to install SampleApp 1.0.4" note="" package="#APPPATH\SampleApp.msi" cmdparameters="">
        <installedcheck type="check_registry_value" path="SOFTWARE\MyCompany\SampleApp\1.0.4.4" fieldname="Install" fieldvalue="1" fieldtype="REG_DWORD" comparison="match" />
      </component>
    </components>
  </configuration>
</configurations>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The MIT License


Written By
Software Developer
Italy Italy
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions