|Anonymous | Login | Signup for a new account||2014-04-25 00:14 BST|
|My View | View Issues | Change Log | Roadmap | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005456||Freenet||wininstaller||public||2012-09-03 11:35||2013-07-18 11:41|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Target Version||0.8.0||Fixed in Version|
|Summary||0005456: Consider l.autohotkey.net for proper support for l10n|
|Description||[18:15:17] <operhiem1> toad_: I think I speak without exaggeration when I say that it's critical that we switch to http://l.autohotkey.net/ [^] for Windows installer Unicode path support.|
[18:15:57] <toad_> operhiem1: hmmm
[18:16:13] <toad_> operhiem1: i will have a look ... i'm surprised it doesn't have proper support now, win32 was always built on unicode
[18:16:54] <operhiem1> Sure, but http://www.autohotkey.com/community/viewtopic.php?t=58191 [^] https://github.com/freenet/wininstaller-staging/pull/2#issuecomment-7009506 [^]
|Tags||No tags attached.|
operhiem1 is working on this, on the "ahk_l" branch on his git repo:
Latest commit is b44b25c90bc6ab9ba567017e62e326e57cff82e8
This has support for detecting and using a 64-bit JVM, but *DOES NOT USE THE 64-BIT WRAPPER BINARIES*, so will likely have problems. This must be fixed before deployment. But it does give a better solution for 0003120.
edited on: 2012-10-04 21:52
Once that is fixed, is this ready to go? What remains?
|Current additional problems I'm aware of are the tray icon fails to detect whether FProxy is running, and the executable icon isn't being set to the Freenet rabbit.|
|I've submitted a pull request which ports to AHK_L here: https://github.com/freenet/wininstaller-staging/pull/6 [^]|
The previous pull request is superseded by: https://github.com/freenet/wininstaller-staging/pull/9 [^]
64-bit binary support is not included.
I'm a bit concerned about the last commit:
Author: Steve Dougherty <email@example.com>
Date: Sat Dec 29 22:29:41 2012 -0500
Set executable icon with Ahk2Exe; remove ResHacker.
We don't use ResHacker just to set the icon. That's not important. What is important is UAC escalation. Does AHK do this automatically? We need it to work on Vista, even if Windows 7 is more tolerant?
Apart from that it looks good. Please let me know what the situation is with the above commit.
My local status:
- Merged this into a branch locally.
- Once above issues are sorted...
- There is a branch in the Maintenance scripts repo that deals with this too.
- I have the binaries.
- I want to build it as an alternate/test version initially, and get some testing.
|operhiem1 thinks we don't need UAC escalation. Looks like the installer installs Freenet within the user's directories. We need to test this on multiple Windows platforms (particularly Vista), but it looks like this is good to go...|
[16:22:50] <toad_> operhiem1: AHK-L32 progress report: I've had to reapply everything from master, because of git issues. it works, except that freenet-ext.jar is 0 bytes long. i don't think this is a local configuration problem, as it shows up as the correct size inside the build dir. any ideas how to fix it? can you have a look at it sometime?
- ~/bin/release-wininstaller-ahkl [ from "Maintenance scripts", branch ahk_l; when this is finally deployed, change the branch and --dry-run settings back to normal and merge in that repo too ]
freenet-ext.jar is 0 bytes long. Why?
-- The copy of the jar locally during the build is the correct size.
-- What's happening?
- TODO: Test on Windows 7.
=> On Erica (one of the systems here), consistently fails with freenet-ext.jar of 0 bytes.
- TODO: Test on Windows XP.
- TODO: Test on Windows XP 64-bit.
- TODO: Seek wider testing.
I tried on Katherine, which runs XP64. Identical results - still broken, 0 bytes freenet-ext.jar, in spite of it being present and correct during the build process.
operhiem1 may look into this.
edited on: 2013-05-15 13:53
This problem does not occur when running build.cmd under Windows 7 with AutoHotKey_L v. 1.1.10.00.
I was able to reproduce the problem running with Wine 1.4.1 the release-wininstaller script from the scripts repo ahk_l branch (87b0a9658b5530adb4b9f8dc4b5679cb3c63242d) and wininstaller-staging ahk_l32-clean branch (5ce22a62aa5d19e94b6f0fb225bc56698854a5d0) on Windows 7.
I'll update this bug as I find out more.
2013-05-14 13:47:46 @toad_ operhiem1: moving to windows for windows installers is not a realistic option. fix it / work around it or we'll stick with the current non-unicode installer. :(
AutoHotKey and AutoHotKey_L do differ in how they implement FileInstall. AutoHotKey uses a FileExtract() declared in exearc_read.h and AutoHotKey_L uses WriteFile() from the Windows API.
 https://github.com/AutoHotkey/AutoHotkey/blob/master/Source/script2.cpp#L9399 [^]
 https://github.com/Lexikos/AutoHotkey_L/blob/master/source/script2.cpp#L10296 [^]
 http://msdn.microsoft.com/en-us/library/windows/desktop/aa365747%28v=vs.85%29.aspx [^]
Whoops, Wine isn't running FileInstall, it's running the packaging code in Ahk2Exe.  I'm now checking whether the way it adds files to the executable has changed.
 https://github.com/fincs/Ahk2Exe/blob/9e0e2955d41f50c72ff4ebd8fdbbb7b508cfb43f/Compiler.ahk#L76 [^]
edited on: 2013-07-06 18:27
Okay, so our options are:
1. Keep using AHK.
CON: Poor localisation support.
CON: Likely unfixed bugs; doesn't seem to be updated.
CON: AHK seems to cause false positives on virus checkers.
PRO: Least work.
2. Build in a VM using AHK_L
PRO: Could then test in a VM. Could reset the VM on each new build.
CON: More work for the person releasing. Most builds don't need testing on every platform. Can't have a single driver script.
CON: AHK seems to cause false positives on virus checkers.
3. Switch to NSIS.
PRO: Reasonable Java support out of the box.
PRO: Official support for building from Linux.
CON: Full rewrite of the installer, there are some hacks we'd need to write ourselves.
4. Switch to MS installer.
CON: Would need a VM, see above.
CON: And then we still need to rewrite!
5. Fix Wine.
CON: Not our project; may take a while to figure out how to deal with this. operhiem1 tried but had problems even building 32-bit Wine.
CON: AHK_L authors could decide to use some other windows API and break this again.
Anything I've missed?
[17:26:37] <operhiem1> toad_: I'm in favor of rewriting the installer in NSIS to ditch the dependency on Wine for building the Windows installer. NSIS has official support for building Windows installers on Linux via cross-compilers.
[17:27:01] <toad_> the bigger reason to rewrite it is that AHK is often false-flagged by antivirusen
[17:27:28] <toad_> i'm happy for you to file a bug ... right now there isn't really a maintainer for the wininstaller :|
[17:27:33] <toad_> except for me and you
[17:27:46] <operhiem1> Well I tried anyway, but a Wine bug stopped that pretty quickly.
[17:28:03] <toad_> hmmm, i've had issues with wine but i've always overcome them eventually
[17:28:19] <toad_> when i get back, tell me what happened, maybe i've already found a solution :)
[17:28:46] <toad_> there were various issues with stalling which were down to some component being missing (e.g. gecko) and not seeing the alert because of using Xvfb
[17:28:47] <operhiem1> This has something to do with manifests on EXE files. IIRC I linked the Wine bug on the bug for the AHK_L port?
[17:29:12] <toad_> :(
[17:29:17] <toad_> well it works for me :(
[17:29:23] <toad_> will have a look
[17:29:23] <operhiem1> I find it hard to build Wine though, because it works best on a 32-bit environment and I run x86_64.
[17:29:26] <operhiem1> Well sure AHK works.
[17:29:31] <toad_> yeah i run x86_64
[17:29:35] <toad_> but i have 32-bit wine
[17:29:36] <operhiem1> I mean building it.
[17:29:41] <toad_> hmmm
[17:29:51] <operhiem1> I had trouble setting up a build environment to start debugging Wine.
[17:29:52] <toad_> i thought that was the default?
[17:29:56] <operhiem1> But anyway we can talk about this later.
[17:30:01] <toad_> bbiab yeah
[17:30:20] <operhiem1> IIRC AHK_L does things differently for setting the manifest.
[17:30:35] <operhiem1> Specifically in a less-hacky way, I think.
[17:30:42] <toad_> which works with wine?
[17:31:25] <toad_> or are you saying the AHK version works but the AHK_L version doesn't?
[17:31:48] <toad_> bbl, will read backlog
[17:32:04] <operhiem1> The latter is what I'm saying. My recollection is that AHK does it in a hackier way that happens to work with Wine, whereas AHK_L's more sane way trips over a bug.
[17:32:11] <toad_> ugh :(
[17:32:18] <toad_> i'm sure i've built successfully with AHK_L
[17:32:24] <operhiem1> On Windows yeah.
[17:32:27] <operhiem1> On Windows it works great.
[17:32:28] <toad_> no, on wine
[17:32:44] <toad_> but maybe it was a specific version or something...
[17:32:51] <toad_> dunno
[17:33:04] <toad_> oh, did i get stuck waiting for you to fix the wine bug? :(
[17:33:08] <toad_> ugh
[17:33:17] <toad_> need to deal with this anyway, ok
[17:33:19] <p0s> i think it would be the best solution to just use the official microsoft installer framework.
[17:33:19] <toad_> cya
|I'm a fan of switching to NSIS, so I will make working on that my next project.|
|Note that an online installer or a zip ball would also solve this problem, as we could then build on Windows. However, there are problems with these options (0005842) and probably good reasons for moving to NSIS.|
|2012-09-03 11:35||toad||New Issue|
|2012-09-03 11:35||toad||Status||new => assigned|
|2012-09-03 11:35||toad||Assigned To||=> Zero3|
|2012-09-03 11:36||toad||Relationship added||related to 0005455|
|2012-09-03 11:36||toad||Description Updated||View Revisions|
|2012-10-04 21:27||toad||Assigned To||Zero3 => operhiem1|
|2012-10-04 21:30||toad||Note Added: 0009340|
|2012-10-04 21:30||toad||Relationship added||related to 0003120|
|2012-10-04 21:52||toad||Note Added: 0009341|
|2012-10-04 21:52||toad||Note Edited: 0009341||View Revisions|
|2012-10-13 00:09||operhiem1||Note Added: 0009379|
|2012-12-27 21:18||operhiem1||Note Added: 0009464|
|2012-12-30 05:22||operhiem1||Note Added: 0009466|
|2013-02-12 23:02||toad||Note Added: 0009608|
|2013-02-12 23:06||toad||Note Added: 0009609|
|2013-02-15 20:44||toad||Note Added: 0009633|
|2013-03-12 16:26||toad||Note Added: 0009699|
|2013-03-28 16:02||toad||Note Added: 0009729|
|2013-05-14 02:42||operhiem1||Note Added: 0009809|
|2013-05-14 20:38||operhiem1||Note Added: 0009812|
|2013-05-14 23:46||operhiem1||Note Added: 0009813|
|2013-05-15 13:53||operhiem1||Note Edited: 0009809||View Revisions|
|2013-07-06 18:25||toad||Note Added: 0009883|
|2013-07-06 18:27||toad||Note Edited: 0009883||View Revisions|
|2013-07-06 18:32||toad||Note Added: 0009884|
|2013-07-06 23:31||operhiem1||Note Added: 0009885|
|2013-07-15 16:10||toad||Relationship added||related to 0005842|
|2013-07-15 16:10||toad||Relationship added||related to 0005841|
|2013-07-15 16:11||toad||Relationship added||related to 0005840|
|2013-07-15 16:12||toad||Note Added: 0009909|
|2013-07-15 16:15||toad||Relationship added||related to 0005843|
|2013-07-15 16:19||toad||Relationship added||related to 0005844|
|2013-07-18 11:41||toad||Relationship added||related to 0005862|
|Copyright © 2000 - 2014 MantisBT Team|