WixForm not found (v1.0.28, 1.0.30)

Dec 16, 2015 at 10:20 PM
So...
I'm not very happy with this. Actually, I'm not happy at all.

I tried upgrading to 1.0.30.0 (nuget) - it's been a pain,but at some point I made it work.

However, I now get the error(s):
1>C:\john\code\hm33\dev\Applications\Setup\ProductSettingsForm.cs(14,49,14,56): error CS0246: The type or namespace name 'WixForm' could not be found (are you missing a using directive or an assembly reference?)
1>C:\john\code\hm33\dev\Applications\Setup\ProductSettingsForm.Designer.cs(224,30,224,39): error CS0234: The type or namespace name 'WixButton' does not exist in the namespace 'WixSharp' (are you missing an assembly reference?)
1>C:\john\code\hm33\dev\Applications\Setup\ProductSettingsForm.Designer.cs(225,26,225,37): error CS0234: The type or namespace name 'WixCheckBox' does not exist in the namespace 'WixSharp' (are you missing an assembly reference?)
...
and so on

Same thing happens when upgrading to 1.0.28. What is wrong with this?

Best,
John
Dec 17, 2015 at 4:13 AM
Starting from v1.0.23.0 (4 months ago) all native WiX dialogs/controls (e.g. WixForm) are separated into a dedicated assembly "WixSharp.Lab.dll", which needs to be referenced from the VS project:
RELEASE NOTES
* Cleared Wiki documentation backlog
* ...
* Native WiX dialogs are separated into a dedicated assembly "WixSharp.Lab.dll"
Due to the lack of user interest 'Native WiX dialogs' experimantal support has been scaled down and now you will need to get the missing dll (WixSharp.Lab.dll) either:
Keep in mind that currently Wix# "Managed Setup" model offers you superior functionality when it comes to building rich custom setup UI. It's simpler and more flexible. But of course if you have to use native MSI UI then you will need to do it either manually or by utilizing "WixSharp.Lab.dll".
Dec 17, 2015 at 8:03 AM
Many thanks for the timely reply!

Thanks for the hotfix - unfortunately I can't use it, see below.

My problem is that we're using nuget, so we can't really reference a file that would be downloaded from a different place. That would turn into a nightmare when updating.

My initial problem started from the fact that I was using 1.0.8.0, and that required me to manually download the wixsharp code, and reference the WixSharp.UI.dll (since the dll was not found in the nuget package). But since I work in a team, this proved rather cumbersome, and at some point, my reference to WixSharp.UI.dll got broken (even though the file exists on disk).

So, I thought I would upgrade to the newest version, since I saw that the newest version contains the WixSharp.UI.dll. Which led me to the problem I initially described.

I chose to update to 1.0.22.3 - since this is the last version that meets my requirements:
  • if you choose to go with a different dll, that is 100% fine, but I suggest you include that into the nuget package, because others might run into my issue
  • I'd like to go with "Managed Setup", but we already have quite a bit of code written that uses Native WiX, and I don't have time to port it at this time.
Best,
John
Dec 17, 2015 at 10:18 AM
> ...so we can't really reference a file that would be downloaded from a different place.

The WixSharp.Lab.dll contains the native UI functionality in the state as it was when it was released first time. There were no changes since then and I have no plans for any changers in the future. "Native UI" is kind of a "discontinued" feature. Thus you can safely download the dll, place it in your source control and reference as any other COTS product not available from NuGet.

Just to let you do it easy way I still published the dll on NuGet: Install-Package WixSharp.Lab. However to be honest I feel a bit uneasy about this as I've just made public something that I don't really endorse.
Marked as answer by jtorjo on 12/18/2015 at 8:04 AM
Dec 18, 2015 at 4:04 PM
I see what you mean. Thanks anyway for making this available as nuget - it will make things a lot easier for me and probably others.
I do intend to port to "Managed Setup" in the future, but not sure when that will happen.

Best,
John