MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005456Freenetwininstallerpublic2012-09-03 11:352013-07-18 11:41
Reportertoad 
Assigned Tooperhiem1 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusassignedResolutionopen 
PlatformOSOS Version
Product Version 
Target Version0.8.0Fixed in Version 
Summary0005456: 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 [^]
TagsNo tags attached.
Attached Files

- Relationships
related to 0005455resolvedtoad Wininstaller does not show accented characters 
related to 0005842newZero3 Consider using an online installer 
related to 0005841newZero3 Antivirus: Consider downloading the installer to existing nodes a day before deploying it to the website 
related to 0005840newZero3 Microsoft Smartscreen (recent IE spyware detection): add to whitelist or something? 
related to 0003120assignedoperhiem1 Use 64-bit JVM on Windows if detected 
related to 0005843assignedoperhiem1 NSIS installer 
related to 0005844assignedtoad Sign our installers using a code signing cert 
related to 0005862assignedromnGit Consider romnGit's InnoSetup-based installer 

-  Notes
(0009340)
toad (administrator)
2012-10-04 21:30

operhiem1 is working on this, on the "ahk_l" branch on his git repo:
https://github.com/Thynix/wininstaller-staging [^]
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.
(0009341)
toad (administrator)
2012-10-04 21:52
edited on: 2012-10-04 21:52

Once that is fixed, is this ready to go? What remains?

(0009379)
operhiem1 (developer)
2012-10-13 00:09

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.
(0009464)
operhiem1 (developer)
2012-12-27 21:18

I've submitted a pull request which ports to AHK_L here: https://github.com/freenet/wininstaller-staging/pull/6 [^]
(0009466)
operhiem1 (developer)
2012-12-30 05:22

The previous pull request is superseded by: https://github.com/freenet/wininstaller-staging/pull/9 [^]

64-bit binary support is not included.
(0009608)
toad (administrator)
2013-02-12 23:02

I'm a bit concerned about the last commit:

commit 96924f0da50bc2cc7a9f35f73f7dfa41dfa74015
Author: Steve Dougherty <steve@asksteved.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?
(0009609)
toad (administrator)
2013-02-12 23:06

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.
(0009633)
toad (administrator)
2013-02-15 20:44

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...
(0009699)
toad (administrator)
2013-03-12 16:26

AHK_L installer:
[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 ]
- FAIL:
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.
(0009729)
toad (administrator)
2013-03-28 16:02

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.
(0009809)
operhiem1 (developer)
2013-05-14 02:42
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.

(0009812)
operhiem1 (developer)
2013-05-14 20:38

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()[0] declared in exearc_read.h and AutoHotKey_L[1] uses WriteFile() from the Windows API.[2]

[0] https://github.com/AutoHotkey/AutoHotkey/blob/master/Source/script2.cpp#L9399 [^]
[1] https://github.com/Lexikos/AutoHotkey_L/blob/master/source/script2.cpp#L10296 [^]
[2] http://msdn.microsoft.com/en-us/library/windows/desktop/aa365747%28v=vs.85%29.aspx [^]
(0009813)
operhiem1 (developer)
2013-05-14 23:46

Whoops, Wine isn't running FileInstall, it's running the packaging code in Ahk2Exe. [0] I'm now checking whether the way it adds files to the executable has changed.

[0] https://github.com/fincs/Ahk2Exe/blob/9e0e2955d41f50c72ff4ebd8fdbbb7b508cfb43f/Compiler.ahk#L76 [^]
(0009883)
toad (administrator)
2013-07-06 18:25
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?

(0009884)
toad (administrator)
2013-07-06 18:32

[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
(0009885)
operhiem1 (developer)
2013-07-06 23:31

I'm a fan of switching to NSIS, so I will make working on that my next project.
(0009909)
toad (administrator)
2013-07-15 16:12

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.

- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker