[Bug 93] 64-bit OS support announcement
bugzilla-daemon at bugzilla.wpkg.org
bugzilla-daemon at bugzilla.wpkg.org
Sat Dec 15 03:06:34 CET 2007
http://bugzilla.wpkg.org/show_bug.cgi?id=93
--- Comment #1 from Rainer Meier <skybeam at users.sourceforge.net> 2007-12-15 03:06:31 ---
Created an attachment (id=85)
--> (http://bugzilla.wpkg.org/attachment.cgi?id=85)
64-bit enhanced version including 64-bit launch-wrapper, patch
Here are the changes (patch-file) only.
Change description:
Change notes
============
WPKG Version: 1.0-RC5
Author: : Rainer Meier <skybeam (at) users.sourceforge.net>
Date : 2007-12-15
Changes/fixes visible to the user:
Summary:
- Added 64-bit OS support
NEW: Support for 64-bit operating systems added. Tested on Windows Vista x64.
WPKG will now be able to read the uninstall keys of 32- and 64-bit
applications when run from 64-bit cscript.exe.
NOTE: Unfortunately WPKG-client is purely 32-bit so it will run 32-bit
cscript.exe. As a result there is no way to read the 64-bit native
registry keys as well as accessing the 64-bit "Program Files" folder.
To work around this I wrote a small wrapper script which invokes the
64-bit cmd shell. Unfortunately the 64-bit binaries within
%SystemRoot%\system32 (yes, really, Microsoft put the 64-bit binaries
there!) are not accessible by 32-bit programs. So you need to copy it
to another location. See instructions below (copied fromthe header of
wrapper.js):
Script which allows to execute WPKG within 64-bit environment (using
64-bit cscript.exe) on 64-bit operating systems like Windows XP x64 or
Windows Vista x64.
How to install:
- Put wrapper.js into the same directory where you run wpkg.js from
e.g. \\server\RemInst\wpkg\wrapper.js
- Put your 64-bit cmd.exe from %SystemRoot%\system32\cmd.exe to the
64-bit
sub-folder:
e.g. \\server\RemInst\wpkg\64-bit\cmd.exe
NOTE: Make sure you really copy the 64-bit cmd.exe. Do not copy
cmd.exe
from %SystemRoot%\SysWOW64\cmd.exe since this is the 32-bit binary.
Quite strange but Microsoft put all 64-bit binaries to system32
while
all 32-bit binaries are located at SysWOW64.
(WOW64 = Windows on Windows-64)
- Configure WPKG-Client to run the wrapper instead while keeping all
parameters.
Directory structure:
\\server\RemInst\wpkg
|- [XML files]
|- wpkg.js
|- wrapper.js
|- 64-bit
|- cmd.exe
WPKG Client configuration:
WPKG file path (required): \\server\RemInst\wpkg\wrapper.js
WPKG parameters: /synchronize
IMPORTANT, IMPORTANT, IMPORTANT, IMPORTANT, IMPORTANT, IMPORTANT
================================================================
File checks:
If you use file checks within your 32-bit packages you have to check
for %ProgramFiles(x86)%\file\path... as well since %ProgramFiles% will
point to the install location of native 64-bit binaries and 32-bit
binaries cannot be found there.
To create a package which supports both (32/64-bit) systems I
recommend
using a logical "or" check. For example:
<check type='logical' condition='or'>
<check type='file' condition='versiongreaterorequal'
path='%ProgramFiles(x86)%\Skype\Phone\Skype.exe' value='3.6.0.216' />
<check type='file' condition='versiongreaterorequal'
path='%ProgramFiles%\Skype\Phone\Skype.exe' value='3.6.0.216' />
</check>
Registry checks:
Registry values of 32-bit applications are redirected to
"HKLM\Software\Wow6432Node\*". WPKG will try to look up each value
directly
at "HKLM\Software\*" first and in case it cannot find it it will look
for
the corresponding key within "Wow6432Node". Therefore you might check
for
"HKLM\Software\TortoiseSVN\AddedIcon" which will look up the 64-bit
version
on 64-bit Windows and the 32-bit version on 32-bit Windows.
In case you installed only 32-bit TortoiseSVN on 64-bit Windows it
will try
to find the 64-bit key and if it fails read the one at
"HKLM\Software\Wow6432Node\TortoiseSVN\AddedIcon".
--
Configure bugmail: http://bugzilla.wpkg.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the wpkg-users
mailing list