Installer requires .net 3.5 features to be installed

Aug 10, 2015 at 9:15 AM
If add CLR window into installer it requires .net framework 3.5

Also when you run such .msi it requires .net 3.5 or in my case it was enough to install .net 3.5 server features :( This is very frustrating because we force user to install unnecessary feature to launch installer.

Do you know how to avoid this problem? Include .dll into installer project?
Aug 10, 2015 at 9:46 AM
Also when run it on Windows Server 2012 it doesn't show controls on window.
Only when I run it from cmd which was run under Administrator it shows controls
Coordinator
Aug 10, 2015 at 10:15 AM
.NET today is a part of the operating system. In fact MS installs it to the OS as part of the update policy on the older systems. Even WiX team doesn't consider .NET dependency as a show-stopper any more. You can have a launch condition that can check the version of .NET present. Even more, you can use silent bootstrapper that can download and install the required .NET automatically. That is why I found "NO .NET" requirement being a bit "artificial". But I am not going to argue about what is appropriate for your project and what is not.

Anyway... if it is your requirement that target system doesn't have .NET installed then you cannot use managed custom actions at all. Meaning the you cannot benefit from Wix# custom actions support and need to go back to the old fashion native msi. It also means that it is no longer a Wix# topic and you need start studying MSI/WiX/C++. You will need to:
  • Implement a custom action dll (C++ topic).
  • Embed the dll into Wix# project. It's simple: with WixSharp.Binary.
  • Then you need to find out how to implement invoking the custom action (WiX topic).
  • You will need to embed the WiX XML CA scheduling element(s) in the Wix# project with "XML Injection". See Wix# samples.
Aug 10, 2015 at 12:21 PM
I'm talking only about .net 3.5.
In my case it's .net 4.0 is a prerequisite for working of our product. Moreover usually there is .net 4.5 installed on all our servers. Nut installer with custom CLR UI requires .net 3.5
Coordinator
Aug 10, 2015 at 12:40 PM
OK. Then .NET is OK. Great.

Then I assume the only problem you have is that the UI somehow doesn;t work properly on the tarhget system. Is this correct? If it is please simplify your code down to the level of HelloWorld project and post it her or to me directly. I will have a look at it.
Coordinator
Aug 11, 2015 at 11:19 AM
BTW if you have any .NET runtime compatibility issued you can always solve them (as with any .NET application) with the appropriate app.config file/ You can read more about this in this section: https://wixsharp.codeplex.com/wikipage?title=Deployment%20scenarios#_clrcompatibility.