0

I've been asked to jump on a project and help build an installer. I'm normally a hardware guy so my coding experience is limited, especially when it comes to this particular instance.

Essentially I have a bunch of components: exe's, dll's, drivers, etc. that I would like to bundle together into one installer to deliver to the client. A coworker suggested using the Wix toolset to do this.

Most of the material I have found has only covered the very basics and it seems like I'm being asked to do something custom and a bit more nuanced. Any help in the form of some guidance on the most efficient/easiest way to do this would be a huge help. A rough outline of what I'll need to do and/or any examples would go a long way.

Thanks!

KqntmS
  • 1
  • 3
  • _most efficient/easiest way_ -- forget these words when you deal with WiX and Windows Installer in general. If you need quick results and your coding experience is limited, I'd suggest going with the commercial GUI tools (e. g. InstallShield or Advanced Installer, I don't really know what to recommend in this regard). Otherwise [this question](http://stackoverflow.com/questions/1779066/recommendations-for-getting-started-with-wix) may help you gettting started with WiX. I second the "Votive" suggestion. – zett42 Apr 19 '17 at 19:35
  • If you don't have a hard requirement for using Windows Installer but still want a "free" toolset, I'd suggest going with either [Nullsoft Install System](https://en.wikipedia.org/wiki/Nullsoft_Scriptable_Install_System) or [Inno Setup](https://en.wikipedia.org/wiki/Inno_Setup). Both are pretty straightforward to use. You'd have to write scripts too, but the learning curve is rather shallow, compared to WiX. – zett42 Apr 19 '17 at 19:41
  • 1
    Thanks for the tips. I've learned enough that I think I can pose my question in a much more specific way. – KqntmS Apr 20 '17 at 18:53

1 Answers1

0

If you want to send a bundle of files, you can simply mention those specific files in Product.wxs file of wix setup project .

<Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
      <Component Id="abc.exe" Guid="de34d0c6-3b9e-439c-a254-c9f695e2e389">
        <File Id="abc.exe" Name="abc.exe" Source="$(var.abc_TargetDir)abc.exe" />
      </Component>
      <Component Id="abc.exe.config" Guid="3a38ad30-51ce-42fd-b262-1249c7087111">
        <File Id="abc.exe.config" Name="abc.exe.config" Source="$(var.abc_TargetDir)abc.exe.config" />
      </Component>
</Fragment>

Like the above abc.exe and the .config file, any other file can be sent using the component tag inside the ComponentGroup tag.

AP7
  • 45
  • 1
  • 7