64 Bit Windows Installer feedback

Ok, so as promised, I installed the 64 bit Windows 4.1.5 w/ JRE on top of my existing Openfire 4.1.4 that was already running 64 bit thanks to the patched files floating around here and the 64 bit JVM, but was located in the Program Files(x86) folder.

Upon starting the installer, it of course did not detect the existing installation because it was looking in the Program Files rather than Program Files(x86) folder. I stopped the service and copied the OpenFire folder to Program Files, and then restarted the installer and it detected the existing Openfire installation and proceeded to run normally.

After the installer exited, I deleted the existing Openfire service and installed the new service from the new installation, so it now references C:\Program Files\Openfire\Bin\openfire-service.exe, started up, everything works fine.

Now for the odd bits.

Version still says 4.1.4 even though the installer said 4.1.5

Something still needs/wants the Openfire directory in Program Files(x86), because when I tried to delete it, it would not. I stopped the service, deleted the old directory in Program Files(x86) and Openfire would no longer start up.

My guess…the service was still running from the original install, and kept a lock on some files. you’ll want to stop the service, and remove it. then delete the folder…then re-run the x64 installer. the installer should install the service automatically. of course, backup your openfire folder!

Hi speedy,

I shut down the service before installing, and made sure the process was dead before proceeding. I’ll delete the service and then re-run the installer and see what it does this time, thanks.

thanks for the feedback!

So I re-installed it, the installer definitely wants to install into the x86 folder, and creates the service pointed to there, but its all 64 bit. It is now showing as 4.1.5 and seems to work fine.

As you have copied you installation folder from x86 to x64 Program files and then installed Openfire on top, it is probably have the old path in some path and that’s why it picks the x86 folder. In my tests fresh x64 installer (even if i have x86 version installed) picks the x64 Program files folder.

@Dave Cridland @Daryl Herzmann @Guus der Kinderen

In my test i had 4.1.4 (x86 bundled with JRE) installed into C:\Openfire. When i run 4.1.5 x64 (bundled with JRE) it doesn’t detect older installation, as it was x86. I then point it to install to C:\Openfire, it correctly uninstalls the older version and installs new one. It can also remove the older service automatically, but administrator has to stop it first. It’s not necessary later (4.2.0 installer stops and reinstalls the service created by 4.1.5 fine).

My proposal is to have this in the blog post and also update the upgrade guide (adding section on how to go from x86 to x64) [OF-1356] Add a section about upgrading from x86 to x64 to Upgrade guide - IgniteRealtime JIRA

There could be two variants of suggestions in the upgrade guide:

"1) (fastest) When running the x64 installer point it to the current installation folder of Openfire (by default C:\Program files (x86)\Openfire). If you have Openfire service installed (version prior 4.1.5), stop it first. During the installation it will install/reinstall the service and on the last step you will have to choose whether to run it.

  1. (recommended?) When running the x64 installer point it to a new installation folder (by default C:\Program Files\Openfire). If you have Openfire service installed (version prior 4.1.5), stop it first. During the installation it will install/reinstall the service. On the last step check not to start the service. Copy the /conf, /embedded-db (if using this database), /plugins, /resources/security from the old installation folder to the new one. Manually start the services via Services control page.

The upgrade guide has been tested against 4.1.4 version. It should work for older version, but the results may be different for very old versions. You won’t have to stop the service before the upgrade since the version 4.1.5. It will stop and reinstall it automatically."

Some minor issue but i have noticed install4j error file after upgrading my x86 4.1.4 version on top with x64 4.1.5 (everything went smoothly).

Exception:

java.lang.UnsatisfiedLinkError: could not load i4jinst from true, C:\i4jinst.dll, C:\Openfire.install4j\i4jinst.dll

at com.install4j.runtime.installer.platform.win32.Common.init(Common.java:44)

at com.install4j.runtime.installer.platform.win32.Win32UserInfo.(Win32User Info.java:55)

at com.install4j.runtime.installer.platform.UserInfo.isAdminGroup(UserInfo.java:23 )

at com.install4j.api.Util.isAdminGroup(Util.java:486)

at com.install4j.runtime.installer.InstallerVariables.initAdminRights(InstallerVar iables.java:571)

at com.install4j.runtime.installer.InstallerVariables.initCommandLine(InstallerVar iables.java:620)

at com.install4j.runtime.installer.Uninstaller.getScreenExecutor(Uninstaller.java: 81)

at com.install4j.runtime.installer.Uninstaller.runInProcess(Uninstaller.java:38)

at com.install4j.runtime.installer.Uninstaller.main(Uninstaller.java:28)

System properties:

java.runtime.name=Java™ SE Runtime Environment

sun.boot.library.path=c:\users\admini~1\appdata\local\temp\3\e4j5363.tmp_dir1499 697137\jre\bin

java.vm.version=25.131-b11

user.country.format=LT

java.vm.vendor=Oracle Corporation

java.vendor.url=http://java.oracle.com/

path.separator=;

java.vm.name=Java HotSpot™ 64-Bit Server VM

file.encoding.pkg=sun.io

user.country=US

user.script=

sun.java.launcher=SUN_STANDARD

sun.os.patch.level=Service Pack 1

java.vm.specification.name=Java Virtual Machine Specification

user.dir=C:\

java.runtime.version=1.8.0_131-b11

java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment

java.endorsed.dirs=c:\users\admini~1\appdata\local\temp\3\e4j5363.tmp_dir1499697 137\jre\lib\endorsed

os.arch=amd64

java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\3\

line.separator=

java.vm.specification.vendor=Oracle Corporation

user.variant=

os.name=Windows Server 2008 R2

sun.jnu.encoding=Cp1257

java.library.path=c:\users\admini~1\appdata\local\temp\3\e4j5363.tmp_dir14996971 37\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Users\ADMIN I~1\AppData\Local\Temp\3\e4j5363.tmp_dir1499697137\user;C:\Windows\system32;C:\W indows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;c:\u sers\admini~1\appdata\local\temp\3\e4j5363.tmp_dir1499697137\jre\bin;.

sun.awt.enableExtraMouseButtons=true

java.specification.name=Java Platform API Specification

java.class.version=52.0

sun.management.compiler=HotSpot 64-Bit Tiered Compilers

os.version=6.1

user.home=C:\Users\Administrator

user.timezone=Europe/Helsinki

java.awt.printerjob=sun.awt.windows.WPrinterJob

file.encoding=Cp1257

java.specification.version=1.8

java.class.path=C:\Openfire.install4j\i4jruntime.jar

user.name=Administrator

install4j.dontUninstallServices=false

java.vm.specification.version=1.8

install4j.upgradeUninstall=true

sun.java.command=com.install4j.runtime.installer.Uninstaller -q -Dinstall4j.alternativeLogfile=C:\Users\ADMINI~1\AppData\Local\Temp\3\i4j_log_u ninstaller2062759178818465163.log -Dinstall4j.upgradeUninstall=true -Dinstall4j.dontUninstallServices=false

java.home=c:\users\admini~1\appdata\local\temp\3\e4j5363.tmp_dir1499697137\jre

sun.arch.data.model=64

user.language=en

java.specification.vendor=Oracle Corporation

user.language.format=lt

awt.toolkit=sun.awt.windows.WToolkit

java.vm.info=mixed mode

java.version=1.8.0_131

java.ext.dirs=c:\users\admini~1\appdata\local\temp\3\e4j5363.tmp_dir1499697137\j re\lib\ext;C:\Windows\Sun\Java\lib\ext

sun.boot.class.path=c:\users\admini~1\appdata\local\temp\3\e4j5363.tmp_dir149969 7137\jre\lib\resources.jar;c:\users\admini~1\appdata\local\temp\3\e4j5363.tmp_di r1499697137\jre\lib\rt.jar;c:\users\admini~1\appdata\local\temp\3\e4j5363.tmp_di r1499697137\jre\lib\sunrsasign.jar;c:\users\admini~1\appdata\local\temp\3\e4j536 3.tmp_dir1499697137\jre\lib\jsse.jar;c:\users\admini~1\appdata\local\temp\3\e4j5 363.tmp_dir1499697137\jre\lib\jce.jar;c:\users\admini~1\appdata\local\temp\3\e4j 5363.tmp_dir1499697137\jre\lib\charsets.jar;c:\users\admini~1\appdata\local\temp \3\e4j5363.tmp_dir1499697137\jre\lib\jfr.jar;c:\users\admini~1\appdata\local\tem p\3\e4j5363.tmp_dir1499697137\jre\classes

java.awt.headless=true

java.vendor=Oracle Corporation

file.separator=\

java.vendor.url.bug=http://bugreport.sun.com/bugreport/

sun.io.unicode.encoding=UnicodeLittle

sun.cpu.endian=little

install4j.alternativeLogfile=C:\Users\ADMINI~1\AppData\Local\Temp\3\i4j_log_unin staller2062759178818465163.log

sun.desktop=windows

sun.cpu.isalist=amd64