Running JWS remotely on 64-bit machine - 64-bit

The problem is that my JNLP file works locally on my 64-bit machine (running on my own machine), and locally and remotely on my 32-bit machine - but not remotely on the 64-bit machine (you see the Java 6... message for a looong time, and then it just terminates!). Any suggestions about how to trouble-shoot this? Should I specify different libraries for 64-bit and 32-bit? FWIW the jnlp file looks like this (maybe quite wrong!):
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+"
codebase="http://www.jpaulmorrison.com/graphicsstuff/">
<information>
<title>DrawFBP</title>
<vendor>J.P. Morrison Enterprises, Ltd.</vendor>
<description>FBP Diagramming Tool</description>
<icon href="DrawFBP-logo.jpg"/>
</information>
<security>
<all-permissions/>
</security>
<offline-allowed/>
<resources>
<j2se version="1.6+"/>
<j2se version="1.5"/>
<jar href="DrawFBP_signed-2.3.jar" main="true"/>
<extension name="javahelp" href="javahelp.jnlp">
</extension>
</resources>
<application-desc/>
</jnlp>
and javahelp.jnlp is as follows:
<!-- Java Network Launching Protocol file for JavaHelp
(requires Java Web Start http://www.java.com/) - thanks to www.koders.com -->
<jnlp codebase="https://jwindows.dev.java.net/" href="javahelp.jnlp" spec="1.0+">
<information>
<title>Java Help</title>
<vendor>Sun Microsystems</vendor>
<homepage href="http://java.sun.com/products/javahelp/"/>
<description>Java Help 2.0</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+"/>
<jar href="lib/jhall.jar" part="javahelp"/>
<package name="javax.help" part="javahelp" recursive="true"/>
</resources>
<component-desc/>
</jnlp>
TIA

Turns out you have to install both the 32-bit version of Java and the 64-bit version. Very confusing, but apparently Java can figure out which to use! It would be nice (but not essential) if someone could tell me why this works...?
PS I posted this to the Oracle forum, and nobody answered it either :-) I will post this answer there too.

Related

Azure Role Service can`t deploy - WaHostBootstrapper.exe.config missing

I`m trying to deploy New Azure Service (using SDK 2.9) and encounter the following error:
The file provided is not a valid service package.
Invalid application runtime - a runtime component is missing:/base/x64/WaHostBootstrapper.exe.config.
Screenshot of the error
What did I try:
Tried to package the service and saw "base/x64/WaHostBootstrapper.exe.config" exists and not missing. Screenshot of the Package Folder
Tried to deploy other service from different workload (also SDK 2.9) it works.
Tried to compare the content of WaHostBootstrapper.exe.config between the to mentioned sevices and it was identical
Attaching the contents of the file:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727" />
</startup>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="false" />
</runtime>
</configuration>
Any ideas what else can I check or try to do?
Thanks a lot for you help

What is Package For The Web 4 ? Can we use it today to build executive file?

1 of my 80 dll's has been updated. Previously we used Packagefortheweb 4.0 to build setup. Now we need to update our client tool. How can we use Packagefortheweb to do so.
Package for the Web is long since unsupported. If you have InstallShield you can make a compressed installation, or optionally a downloader, to do what you want. Note that PFTW primarily creates a compressed single-exe wrapper around a set of files including another exe, which (a) many tools can do these days, and (b) doesn't have any logic to update files on a target machine, so will need some sort of installation logic anyway.
use iexpress under Windows Winkey+R -> iexpress
It is real simple to use Package for the WEB under windows 10.
You need to create a manifest file with asInvoker privileges for the pftwwiz.exe and a requireAdministrator manifest for the stub32i.exe file.
Use the mt.exe tool to apply the manifest to this files.
Done!
The manifest code I use is this (the one for stub32i.exe), the one for the wizard just uses asInvoker:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
<ms_compatibility:compatibility xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" xmlns="urn:schemas-microsoft-com:compatibility.v1">
<ms_compatibility:application xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1">
<ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</ms_compatibility:application>
</ms_compatibility:compatibility>
</assembly>
The batch file I use is this (I have copies with the addition original for this files):
#echo off
REM -- This batch file is needed to insert the external manifest file into the EXE, otherwise the program asks for administrative rights or fails to install
copy "pftwwiz (Original).exe" pftwwiz.exe
mt -manifest pftwwiz.manifest -outputresource:pftwwiz.exe
call signit pftwwiz.exe
copy pftwwiz.exe "pftwwiz (Patched).exe"
copy "stub32i (Original).exe" stub32i.exe
mt -manifest stub32i.manifest -outputresource:stub32i.exe
copy stub32i.exe "stub32i (Patched).exe"

Server Error in '/ccnet' Application

My CCTray says build is broken and on the server(http://172.25.165.10/ccnet/)
I get this error
Server Error in '/ccnet' Application.
Configuration Error
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<!-- This is your CruiseControl.NET Server Configuration file.
Add your projects below! -->
<project name="winapp"
description="demoproject showing a small config" queue="Q1">
<webURL>http://172.25.165.10/ccnet/</webURL>
<!-- specify a state folder to prevent CCNet from saving it in Program Files\CruiseControl.NET\server
programs may not standard write their data in it on windows Vista and up)
-->
<sourcecontrol type="svn">
<trunkUrl>https://citdevbox.arcade.local:8443/svn/cardwellR/trunk/winapp</trunkUrl>
<workingDirectory>c:\builds\winapp</workingDirectory>
<username>***</username>
<password>***</password>
</sourcecontrol>
<state type="state" directory="C:\CCNet\State" />
<!-- specify a artifactDirectory to prevent CCNet from saving it in Program Files\CruiseControl.NET\server
programs may not standard write their data in it on windows Vista and up)
-->
<artifactDirectory>C:\CCNet\BuildArtifacts\MyFirstProject</artifactDirectory>
<tasks>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\\v3.5\MSBuild.exe</executable>
<projectFile>C:\Builds\build\BootStrapper.msbuild</projectFile>
<buildArgs>/noconsolelogger /t:CTSx86;BuildZip /v:d</buildArgs>
<logger>ThoughtWorks.CruiseControl.MsBuild.XmlLogger,C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
<timeout>900</timeout>
</msbuild>
</tasks>
<triggers>
<!-- check the source control every X time for changes,
and run the tasks if changes are found -->
<intervalTrigger
name="continuous"
seconds="300"
buildCondition="IfModificationExists"
initialSeconds="5"/>
</triggers>
<publishers>
<xmllogger />
<artifactcleanup cleanUpMethod="KeepLastXBuilds"
cleanUpValue="50" />
</publishers>
</project>
</cruisecontrol>
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The root element must match the name of the section referencing the file, 'appSettings'
Source Error:
Line 1: cruisecontrol xmlns:cb="urn:ccnet.config.builder"
Source File: C:\Program Files (x86)\CruiseControl.NET\server\ccnet.config Line: 1
Version Information: Microsoft .NET Framework Version:2.0.50727.5456; ASP.NET Version:2.0.50727.5456
You didn't post the content of your ccnet.config file which the error you are getting is complaining about. Lets start with the obvious. I would look to see if there is a typo in there, for example maybe a missing quote or something in the appSettings section. If you have the unmodified version revert back to that and see if your issue goes away and compare the unmodified with the modified.
There is an app called CCValidator which will tell you where the error is in your ccnet.config file. I suspect that is not where the problem is. It sounds like the error is in the ccservice.exe.config. Perhaps someone accidentally copied ccnet.config to ccservice.exe.config. The error may also be in your web dashboard's configuration.
I solved the issue by removing the build args tag.
</noconsolelogger /t:CTSx86;BuildZip /v:d>
My processor was 64 bit and I was using noconsolelogger /t:CTSx86 which is for a 32 bit processor. Anyway these were optional so I removed it worked fine.

Packaging a node-webkit app (exe) to Win 8.1 appx

I am attempting to transform a built node-webkit app that I created into an executable appx Win 8.1 Metro App.
After creating my appx package and signing it, and creating my AppxManifest.xml file :
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest">
<Identity Name="bouveret" Version="1.0.0.0" Publisher="CN=Mc" />
<Properties>
<DisplayName>iMotion</DisplayName>
<PublisherDisplayName>XXX</PublisherDisplayName>
<Logo>logo.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.2.1</OSMinVersion>
<OSMaxVersionTested>6.2.1</OSMaxVersionTested>
</Prerequisites>
<Resources>
<Resource Language="fr" />
</Resources>
<Applications>
<Application Id="bouveret" Executable="bouveret.exe" EntryPoint="WinMain">
<VisualElements DisplayName="iMotion" Logo="logo.png" SmallLogo="logo.png" Description="iMotion" ForegroundText="light" BackgroundColor="#000000" ToastCapable="false">
<DefaultTile ShowName="allLogos" ShortName="iMotion" WideLogo="logo.png" />
<SplashScreen Image="logo.png" />
<InitialRotationPreference>
<Rotation Preference="portrait" />
</InitialRotationPreference>
</VisualElements>
</Application>
</Applications>
</Package>
I manage to install it via Powershell, but I suspect it doesn't manage to run the entry point for the app. NW apps don't have a C# interface I can use to set a proper entry point.
Anyone has any idea on which entry point should be set? The executable launches itself properly, but the appx package doesn't launch anything : I see the logo on a black background and then it minimizes itself to the desktop without any debug trace.
Thank you.

GWT compiler behaves differently in Linux and Windows

We have a GWT application. Using Maven 3 we build and run the GWT application.
The application runs fine when we build and run on Windows 7 and test on IE on Windows. However, when we compile and run the application on Linux and then test on IE on Windows, the application looks differently.
To rule out client problems: we test on exactly the same client - Internet Explorer on Windows 7.
Further investigation revealed the Javascript on the Linux-server is differently from the Javascript on the Windows-server.
Does anyone know why GWT behaves differently on Linux and Windows? What can we do have GWT behave the same on both Windows and Linux.
We use Maven 3 to compile and run gwt.
Here's the plugin configuration of GWT:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.5.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>i18n</goal>
<goal>generateAsync</goal>
</goals>
</execution>
</executions>
<configuration>
<runTarget>MyApplication.html</runTarget>
<hostedWebapp>${webappDirectory}</hostedWebapp>
<i18nMessagesBundle>nl.my.app.client.Messages</i18nMessagesBundle>
<inplace>true</inplace>
</configuration>
</plugin>
and here's the module configuration:
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to=&apos;MyApplication&apos;>
<inherits name=&apos;com.google.gwt.user.User&apos; />
<inherits name="com.google.gwt.i18n.I18N" />
<inherits name=&apos;nl.my.module&apos; />
<inherits name="com.sencha.gxt.ui.GXT" />
<inherits name="com.google.common.collect.Collect" />
<inherits name=&apos;com.google.gwt.user.Debug&apos; />
<inherits name=&apos;nl.my.othermodule&apos; />
<entry-point class=&apos;nl.my.MYApplication&apos; />
<source path=&apos;client&apos; />
<source path=&apos;shared&apos; />
<set-configuration-property name="UiBinder.useSafeHtmlTemplates" value="true" />
<extend-property name="locale" values="nl_NL" />
</module>
The application is build and run using the following command:
mvn gwt:run
You probably have different JDKs on the two different systems. Ensure the JDK being used by maven is the same.
We found the problem - compatibility mode: as stated in the question the problem only occurred in Internet Explorer (IE). The compatibility mode of IE was enabled automatically when we'd access the application via a non-local address. In compatibility mode IE behaves slightly different. That's why, when we did access the application via localhost - on our development workstation - compatibility mode was not enabled by IE and the application looked like it should.
Problem was solved by adding the following in the head section of the application's single html file:
<meta http-equiv="X-UA-Compatible" content="IE=edge" >

Resources