Re: Windows 10 issue.

Peter Hansson <[email protected]>
Newsgroups gmane.comp.java.netbeans.modules.openide.devel
Message-ID <CAC55jYPmaZN2ivfQ64YCk1uw_d2xSvRBGHS5+7h7SDkj98qwwQ@mail.gmail.com>
Regarding the 32-bit vs 64-bit discussion.

First we need a definition: We use the word "launcher" for the little
native application
who's job it is to launch the JVM. In the world of NetBeans there are two
of these:

* There's the launcher which launches the Installer. It is known by the
name NLW
(or nlw.exe, but in an Installer Bundle you won't actually see this file
name).
NLW is a C application.

* There's the launcher for the installed application, typically referred to
as
"the NetBeans launcher". It is a C++ application and the binary exists in
two
flavours: 32-bit and 64-bit.

NLW is always a 32-bit application. Yes, always. Isn't this a problem?.
No, it isn't. Its only job is to launch a JVM and then do nothing. The JVM
can be
either 32-bit or 64-bit. It is the bitness of the JVM (either one which is
bundled with
the Installer or one which NLW finds on its own using various techniques,
mainly
by looking a WinReg keys) which determines if Windows decides if you are in
the
process of installing a 32-bit application or a 64-bit application and thus
decides
on installing into %ProgramFiles% or %ProgramFiles(x86)%. The bitness of
the nlw.exe
stub is irrelevant here. I personally do not like the idea of nlw.exe
finding a random
JVM on its own, so I always bundle a JRE with my NB Platform Applications.

Why this particular Win 10 workstation is refusing to execute nlw.exe with
the words "This app can't run on your PC" is beyond me. Perhaps that
workstation
just won't execute 32-bit code? (although I'm not aware of such a setting
in Windows 10)

If you don't believe me when I say that your Installer executable binary is
actually
a 32-bit exe, then use whatever tool you like to determine that. I like to
use
7zip for the purpose for the sole reason that I already have it installed.
(nothing to
do with 7zip's core purpose, of course). You can do like this:

7z.exe" l myNBApp-installer.exe

and it will output some stuff on the console, including if it is a 32-bit
binary or
64-bit. Alternatively you can just launch the installer executable and look
for
it in Task Manager. You'll notice it says "(32 bit)" as a suffix.

But, hey, shouldn't the NLW be a 64-bit binary?  Yes, it probably should
these days, but is was made this way because 32-bit is the lowest
denominator
and that made the whole thing more simple when the NB Installer framework
was developed quite some time ago. (about 10 years ago)

One more thing:  I'm guessing the error message from Windows may also be
seen
if nlw.exe finds a 64bit JRE on the host and attempts to execute it, but
fails
because the OS itself is 32-bit. So, please check if your customer's OS is
really
64-bit.

I'm hoping at least parts of this ramble will help you.

Peter

On Wed, Apr 5, 2017 at 3:27 PM, Oliver Rettig <[email protected]> wrote:

> Hi,
>
> thats is intersting. I am sometimes working in a very restricted windows
> environment of a orthopaedic clinics and I have their too installations
> problems.
>
> If I install as a local admin in the default folder which is "C:-" than
> normal
> users do not have access to the installed netbeans applications (which
> works
> fine for the local admin).
>
> The problem has to do with file acccess rights. It looks that the netbeans-
> installer can not set them correcty. I have not  figured out what exaclly
> happens.
>
> If I install into a second partition "D:" the strange thing is that the
> installer works fine but the normal users can execute the app only after
> changing the access rights  from the netbeans app folder to "readaccess" by
> hand by the local admin.
>
> So I am very interested what are exactly your probleme and how it can be
> solved.
>
> best regards
> Oliver
>
> > Hey Oliver,
> >
> > As far as I'm aware they're using 64bit version of Win 10.
> > I sent them a possible solution, which has to do with Local Security
> > Settings. There are some restrains enabled by default for "built-in admin
> > accounts". If it works I'll post the solution here.
> > Oliver Rettig wrote:
> > > Hi,
> > >
> > > typically this is no netbeans specific problem. In many cases it simply
> > > appears if you try to install a 64bit exe onto a 32bit os. I have seen
> > > this on Windows 8 and 10.
> > >
> > > best regards
> > > Oliver
> > >
> > > > Hey everyone,
> > > >
> > > > I have come across a weird error.
> > > > One of our customers has received the following error while trying to
> > > > install the software:
> > > >
> > > > "This app can't run on your PC"
> > > >
> > > > Which is quite odd, given they have installed the latest JVM, the
> person
> > > > in
> > > > question is logged in as Administrator, and the OS is Windows 10
> > > > ([Rolling
> > > > Eyes]).
> > > >
> > > > Any ideas on how to solve this?
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.