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? > > >