WINDOWS 8

Sep 14, 2011 at 6:48 PM

When I try to install on Windows 8 I get a dialog which aborts the installation saying

"Unsupported operating system, major=6, version=2.2, sp=0.0, type=1"

All my os filters are winNone except one thing that is !win7 so I think the problem is somewhere else. 

Does anyone know how to get around this in the current version of DNI? Is there some trick or hack?

Thanks,

Adam

Sep 15, 2011 at 4:07 AM

having the same issue here :(

Sep 15, 2011 at 4:33 AM
Pakl wrote:

having the same issue here :(

I might go into the source code and try to add basic support for win8. I'll wait a bit longer for an official response.

Coordinator
Sep 15, 2011 at 4:41 AM

Not forward-supporting untested OSs was done by design. Please don't hesitate to send a patch! There're just a couple of places to add this too (don't forget docs).

Sep 15, 2011 at 4:45 AM
dblock wrote:

Not forward-supporting untested OSs was done by design. Please don't hesitate to send a patch! There're just a couple of places to add this too (don't forget docs).

Makes sense. We are testing our software on some build of win8 already and hit this. I'll definitely look into it probably tomorrow. If I send a patch and it passes inspection will it be posted for others to download?

Coordinator
Sep 15, 2011 at 4:46 AM

Yes.

Sep 27, 2011 at 8:43 PM

I am experienced the same error, when testing on Windows 8. According to docs dotNetInstaller, the os_filter_min / max are optional (winNone, at least as said in the help description on Installer Editor...). So specifying winNone should bypass any check for max or min operating system.

Sometimes its desirable that you want to set a filter_min but not limit in a filter_max (my case), then it would install in newer products without resulting errors.

Sep 27, 2011 at 8:44 PM
howitzer29 wrote:
dblock wrote:

Not forward-supporting untested OSs was done by design. Please don't hesitate to send a patch! There're just a couple of places to add this too (don't forget docs).

Makes sense. We are testing our software on some build of win8 already and hit this. I'll definitely look into it probably tomorrow. If I send a patch and it passes inspection will it be posted for others to download?

Hi howitzer29, will you intend to upload a fix?

Sep 27, 2011 at 8:51 PM
Edited Sep 27, 2011 at 8:54 PM

I'm going to look into it now. Should I be working in the 1.10 branch to make this change?

Sep 27, 2011 at 9:20 PM

I submitted the patch for win8 support. I made the change in the 1.10 branch.

http://dotnetinstaller.codeplex.com/SourceControl/list/patches ID 10468

Sep 27, 2011 at 9:24 PM

Thank you!

Sep 27, 2011 at 9:36 PM
Edited Sep 27, 2011 at 9:38 PM

See the changes and I think that besides the code added to know the Windows 8 new version, its needed to fix when specified the winNone enum value, that the code must bypass the verification. As stated in the "Installer Editor property help", indicating this is a optional require. According to my understanding...avoiding on next newer OS version that the same issue happens again.

Coordinator
Sep 27, 2011 at 10:07 PM

I got a bunch of merge conflicts on trunk. 1.10 has shipped, it won't be changed, can I please have the patch on the latest code? Thx.

Sep 28, 2011 at 1:40 AM

I made the changes on the trunk this time. Patch: http://dotnetinstaller.codeplex.com/SourceControl/list/patches ID 10472

So how does one go about getting the latest binaries or msi for the trunk?

Coordinator
Sep 28, 2011 at 2:49 AM

Generally you can do "build all /p:Configuration=Release" from the command line - you get a full package. 

I've uploaded build 2.0.81.0. Give it a try.

Sep 28, 2011 at 3:49 AM

Thanks I have it building minus the doc. Just to confirm by full package do you mean all the necessary binaries (dotNetInstaller.exe, InstallerEditor.exe, InstallerLib.dll, etc.)?

Coordinator
Sep 28, 2011 at 3:50 AM

You should fix the doc building too. The CHM has details on the build environment. It makes a nice zip and msi, just like the thing you can download in the releases and runs all the tests.

Sep 28, 2011 at 2:14 PM
Edited Sep 28, 2011 at 2:16 PM

The latest trunk has the winMax option along with the win8 option. I just finished building the trunk to the point where it generates a working dotnetinstaller msi. 

Sep 28, 2011 at 3:09 PM
Edited Sep 28, 2011 at 3:24 PM

Hi, sorry if its not appropriate place to doing it, but this is what I would like:

The code bellow will stop to interrupt the install process when you keep the OS filter as winNone. It was included a test for win8 server (name not unknown), missing in the howitzer29 post.

//Include this in OsUtil.cpp
//...
case VER_PLATFORM_WIN32_NT:
// support newer products
if ( osvi.dwMajorVersion > 6)
{
  os = win_new_product;
}
// support newer products
else if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 2)
{
  os = win_new_product;
}
// Windows 8
else if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 2 && osvi.wProductType == VER_NT_WORKSTATION)
{
  os = win8;
}
// Windows 8 Server
else if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 2 && osvi.wProductType != VER_NT_WORKSTATION)
{
  os = win8Server; // will be this name?
}
//...

//Include this in OsUtil.h
  enum OperatingSystem
  {
    winNone = -1,
   //...
    win8 = 130,
    win8Max = 139,

    win8Server = 140,

    win_new_product,  //must be always the last enum value for identify new products
  };

Sep 28, 2011 at 3:29 PM
Edited Sep 28, 2011 at 3:30 PM

Hi dblock, could you update the code with the appropriate changes if you approve this? This edit will no longer make the bootstrapper stop the process install when a new OS is launched and you don't set any filter on OS_Filter_min  and OS_Filter_max...

Or can I submit the sources?

Coordinator
Sep 28, 2011 at 3:42 PM

If you want to push this into the source, you need to make a proper patch an write unit tests for this an update the what's new and the documentation on OS filtering. Note that you must not change the default behavior - you're introducing a new option that will allow the installer to run on an unknown OS.

Sep 28, 2011 at 6:01 PM

Is there a problem to run in an unknown OS? Its not the version info that will make it fail...Take the example of this change now to document the new OS...

In my view this will not change its behavior, because if you want to limit the install you will set OS filter_min/max with a range of a supported and known OS.

But letting the installer fail the execution even specifying none at OS filter_min/max, that's a bug...

I will do the proper changes and submit for your appreciation.

Coordinator
Sep 28, 2011 at 7:03 PM

Right now when you run on Windows 8 with some configuration you get an error, unsupported OS, right? That's the behavior lots of people want "out of the box". Whatever you change, make sure not to break this current functionality - without changing the config I should get the same behavior.

Sep 28, 2011 at 7:11 PM
Edited Sep 29, 2011 at 1:06 PM

If you want the (weird!) behavior of getting this exception message (unsupported OS), then you specify an OS_filter value, right?! In fact, if you specify a value (!= NONE) it will show a well-formated message saying "of this system not allowed". Its right...

If you would not care of OS, you specify winNone, right? I have winNone specified, but its still failing with the previous message...

What this behavior should be called?

Coordinator
Oct 6, 2011 at 11:26 PM

I *think* winNone right now means the same as unspecified. In any case, please feel free to make any changes and submit patches - i'll try to think of anything that can go wrong :)

Oct 7, 2011 at 3:18 PM

I will try to submit the changes until next week.

Dec 5, 2011 at 4:08 PM

It was resolved implemented win_max values.