Menu

#4 NAnt interoperability

closed
None
2012-09-15
2004-04-07
No

Convert? Autodetect & seamless interop?

Discussion

  • Gertjan Schuurmans

    Logged In: YES
    user_id=95619

    Converting wix to an integrated nant task (like the current
    msi task in nant-contrib) means the end of the really useful
    wxs -> wixobj and include + library mechanism.

    I think it's much better to see wix as just another compiler /
    linker combination and regard your wxs files as regular source
    files in your project.

    In that case a NAnt wix task which detects the presence of
    the wix toolset and executes the compiler and / or linker will
    suffice.

    Of course, detecting the presence of wix can be done:

    a) really simple: requiring candle.exe and light.exe to be on
    the system PATH. (e.g. the nant msi task requires cabarc.exe
    to be on the path)

    b) really hypercorrect: having a wix toolset setup package
    that writes some path information in the registry. (I believe
    that's the way the ndoc task locates the CHM compiler, which
    is part of the HTML Help Workshop)

     
  • Rob Mensching

    Rob Mensching - 2004-04-21

    Logged In: YES
    user_id=991639

    So, is this feature something that should be done in WiX or
    should it be done in Nant? As I understand it, Nant is GPL
    code and that makes it very difficult for me to go anywhere
    near it. Thus, I'm going to tend toward making WiX easy for
    someone else to integrate into Nant.

    Suggestions? Comments?

     
  • Gertjan Schuurmans

    Logged In: YES
    user_id=95619

    Can be done in NAnt -> one or two very simple WiXTasks
    could be added to NAnt which search the system PATH (or
    the install location of WiX: we'll need WiX to package itself)
    for light.exe and candle.exe. No licensing problems either in
    that case.

    Beside issues of licensing, very tight integration with NAnt
    (wix-code inside build files, much like the current msi-task in
    nant) is imho useless, because you'll completely loose the
    library/include mechanism.

    Moreover, NAnt is a build tool, not a setup tool; the ongoing
    fuzz about the Nant msi-task: completely refactored twice
    and still quite messy, and the numerous support questions on
    the msi-task alone are, to me, a sign that a build file is not a
    good place to store a complex installer script. Instead, it's the
    right place to call some tool for creating your installer.

     
  • Rob Mensching

    Rob Mensching - 2004-04-26

    Logged In: YES
    user_id=991639

    schuur's analysis looks good to me, closing this request. If
    you're looking to just get started with Nant and WiX you
    might check out this blog entry:
    http://weblogs.asp.net/lorenh/archive/2004/04/06/108811.asp
    x