NativeBootstrapper File Description

Mar 3, 2016 at 6:04 AM
the description of the exe file that is generated by using NativeBootstrapper is always "Wix# Native Bootstrapper Application".
Is there a way I can change it?
Coordinator
Mar 4, 2016 at 12:52 AM
Edited Mar 4, 2016 at 1:05 AM
You will need to recompile "nbsbuilder.exe" to allow user defined description. Possible but not an easy task.
Alternatively you can change/patch the embedded exe file resoureces (including file description). You can use VS or other tools for this.

And of course you should consider using proper WiX/Wix# bootstrapper. The "Native Bootstrapper" was an effort before WiX released Burn. And today you will be much better off if you migrate. Unless of course you have your reasons to stay with "Native bootstrapper".
Mar 15, 2016 at 9:04 AM
Wix Burn does not fit because it requires .NET 4.0, but my app is happy with .NET 3.5 and I am not ready to elevate that.
Coordinator
Mar 15, 2016 at 9:43 AM
Then you will need to work with <WixSharp>\src\NbsBuilder
Mar 15, 2016 at 9:48 AM
Yes, I already tried that and nbs.exe is compiled successfully with the specified properties(copyright, version, etc.)
but nsbuilder.exe produces the error
Error 6 error LNK1104: cannot open file 'shlwpi.lib' E:\Projects\WixSharp\src\NbsBuilder\nbsbuilder\LINK nbsbuilder
and I didn't find any way to fix it...
could you help with that?
Coordinator
Mar 15, 2016 at 9:05 PM
Unfortunately I cannot help you much. The nbsbuilder was built with VS2010. I don't even have it any more and upgrading to VS2015 didn't work smoothly. The upgrade also introduces a dependency on a newer CRT (C-runtime) and this is what you would want to avoid.

Well, your options are really limited

Approach A
  1. You can install VS2010.
  2. You can start fighting with C/C++ linking problems.
  3. You can try to patch resources as I described previously.
Approach B
Move to .NET 4.0

Clearly A is associated with lot's of problems and require significant effort, while still being hacky. And the only advantage it gives you - "you are sticking with 9 years old obsolete framework". Though it might be exactly what is required in your case.

The B from other hand is a main stream officially recommended approach that requires almost no effort but does have a small price to pay - "your product will be running on a newer framework".

Only you can make this choice.
Mar 22, 2016 at 4:17 AM
by the way - I found out that StandardBootstrapperApplication does not require .NET 4.0 to be installed, so I moved to Burn and it's...awesome!! Thanks for your help in that anyway
Coordinator
Mar 22, 2016 at 6:17 AM
> I found out that StandardBootstrapperApplication does not require .NET 4.0 to be installed...

This is great, but if I am not mistaken Burn bopotstrapper bootstraps .NET 4.0 automatically. Remember reading it somewhere. And I definitely saw BA source code being written in C#.

Not that you have to tell this your customer even if it's true. :)
Mar 22, 2016 at 7:04 AM
The thing is I tested the burn-based setup that has .net 3.5 as the main prerequisite against the clean windows XP and it installed .net 3.5 and then my product and that's it.
As for BA source code, the Bal extension is being written in C# indeed, still dot Peek shows its platform as .Net Framework v3.5 and the runtime as v2.0.50727 / msil
Wix Standard Bootstrapper Application is written in C++
Coordinator
Mar 22, 2016 at 11:01 AM
Meaning I misinterpreted the BA dependency. Good to know. Txs
Mar 25, 2016 at 4:47 AM
BTW - I was able to compile Nbs, NbsBuilder and modify it a little bit to support dynamically set file/product version attributes. The code was in a good condition, great job!
Coordinator
Mar 27, 2016 at 12:05 AM
This is great.
If you feel that you code is generic enough that it can help others then you can share it with me and I will update the codebase. Or you can just create PullRequest