1

I created a java fx application and am customizing the MSI installer. I added my Software.wxs to the package/windows directory and I am getting the error:

Unresolved reference to symbol 'WixUI:WixUI_InstallDir' in section 

I understand I need to reference C:\Program Files (x86)\WiX Toolset v3.11\bin\WixUIExtension.dll which I have seen documentation for in visual studios & in command line but I am using eclipse with the build.xml ANT deploy.

If i do not reference any WixUIExtension's my project creates the MSI perfectly, but I want to customize the installer. ANy ideas on how to get this reference into my project?

I have tried: this in the software.wxs but it does not acknowledge the Itemgroup element

<ItemGroup>
    <WixExtension Include="WixUIExtension">
      <HintPath>C:\Program Files (x86)\WiX Toolset v3.11\bin\WixUIExtension.dll</HintPath>
      <Name>WixUIExtension</Name>
    </WixExtension>
</ItemGroup>

enter image description here

Squiggz
  • 11
  • 3

3 Answers3

0

Batch Build: I have not tried to use Eclipse to work with WiX. There might be much better solutions, but here is the "down to the wire" batch file compilation of WiX source files (*.wxs):

"%WIX%bin\candle.exe" product.wxs -ext WixUIExtension >> Build.log
"%WIX%bin\light.exe" -out Test.msi product.wixobj -ext WixUIExtension >> Build.log

You can add the WiX bin installation folder to the system path, but Rob Mensching - WiX author - has instead added the WIX environment variable that you can use instead as illustrated above. There are problems with PATH updates - for example security issues (without going into details), and there are also other issues (might try to dig up a link later).


Links:

More Links:

Stein Åsmul
  • 34,628
  • 23
  • 78
  • 140
  • i mean i have "C:\Program Files (x86)\WiX Toolset v3.11\bin" added to my path so I figured it would reference WixUIExtension.dll already. Just seems like there's not to much reference for java/javafx deploy. This is just a sample program too. – Squiggz Mar 19 '20 at 20:14
  • There could be other problems in your source. Did you try a test package? Are you sure the last "bin" folder has been added to the path? Some people add the root folder only. – Stein Åsmul Mar 20 '20 at 18:53
  • Asmul , i uploaded a picture of my folder structure, should the dll or bin or wix toolset be added here as well? because wix works without it being there. The only place i have this set up is the PATH within the windows System variables – Squiggz Mar 20 '20 at 23:51
  • I am afraid I have not used Eclipse with WiX yet. In general adding the WiX bin directory to the path should make the binaries launchable from "anywhere". Maybe try removing the .dll part of the WixUIExtension reference. – Stein Åsmul Mar 22 '20 at 03:30
0

VS Minimal Installation: As an alternative answer I want to list the minimal components you need to install to get WiX projects to compile with Visual Studio. This is also for others who see this answer, so please just ignore if it is not for you and your environment:

Steps: This is based on Visual Studio 2017 (https://visualstudio.microsoft.com/):

  1. VS: Install Visual Studio with nothing added - just core installer (https://visualstudio.microsoft.com/).
  2. VS: Add the following, individual components:
    • NET Framework 3.5 Development Tools
    • .NET Compiler Platform SDK. Several dependency packages comes along:
      • "C# and Visual Basic"
      • ".NET Compiler Platform SDK"
      • Etc...
    • .NET3.5 was already present on Windows 7
  3. VS / WiX: Install WiX and WiX VS Integration (download from https://wixtoolset.org/releases/)

Step-By-Step tutorial on how to use Visual Studio with Votive to deal with WiX projects.

Stein Åsmul
  • 34,628
  • 23
  • 78
  • 140
-1

I got past this issue by modifying the command line and adding these parameters: -ext WixUIExtension -ext WixBalExtension You may only need the first parameter.

Jack A
  • 1
  • 1
    always give a detailed answer instead of providing a one-liner. will be good if you can share screenshots as you are saying you fixed issues by adding these parameters, there you can explain more like where and how. – Anurag Sharma Mar 04 '21 at 09:10