Re: [Tuxpaint-devel] Tux Paint installer on Windows - ideas
An award-winning drawing program for children of all ages
Brought to you by:
wkendrick
From: John P. <jo...@jo...> - 2009-06-19 04:32:08
|
Hi, just a short response. Funnily enough, I've needed to do major customisation of the .iss files. We are already using the pre-processor extension, and the easiest way to customise it is by including generated files using: #include "filename.iss" I use Python scripts to drive Inno Setup and produce custom installers. It's slightly 'clunky' but flexible enough to produce custom GUI components in the installer. Gotta dash, regards, John. On Thu, Jun 18, 2009 at 11:16:22AM -0700, Bill Kendrick wrote: > > So someone asked me where Tux Paint puts its documentation on Windows, > and I dug into the "tuxpaint.iss" installer config file for Win32 > to try and find out. > > First off, I suggest we rename the link to the documentation (in the > Start menu) from "View the README file" to something more > user-friendly, like "Documentation". > > Secondly, I see that the .iss file tries to make that menu item link to > localized versions of the README, I assume based on the locale the user > chose when they launched the installer. > > I'm assuming that, at the moment, even if you're using the > Traditional Chinese version of Tux Paint, the item in the Start menu > appears as, in English, "Viewe the README file." I think it'd be nice > to localize the menu entries, if we can. > > Looking at the .iss file, I'm thinking we might end up needing to > generate the .iss file on-the-fly (at time of release), much like how > we generate the .txt description files for Stamps. > > i.e., right now we have the ".iss" file that says this: > > Filename: "{app}\{#AppReadme}"; Description: "View the README file"; Flags: postinstall shellexec skipifsilent > > I suggest replace it with: > > Filename: "{app}\{#AppReadme}"; Description: "{#documentation}"; Flags: postinstall shellexec skipifsilent > > Where "documentation", like "AppReadme", ends up calling a function that > does some localization checking. This would then go inside an ".iss.in" > file that would contain a function that gets dynamically expanded, > based on the PO file. (This is all assuming ISS can't use gettext() > directly, somehow, BTW.) > > function MyDocumentation(Default: String): String; > var > lang, readme: String; > begin > lang := Lang2Gettext(); > > [[ some code that expands similarly to: > > if lang = 'fr' then > text := 'Documentation' > else > if lang = 'it' then > text := 'Documentation' > else > text := 'Documentation' > > Result := text > > ]] > end; > > > Then there'd be a script (python or whatever) that gets run during > "update.sh" in the 'src/po/' directory, that would generate the > actual ".iss" file. (Similar to how "tuxpaint.desktop" is generated, > based on "tuxpaint.desktop.in" and strings found in the .po files.) > > *Shrug* Again, this is without knowing anything about ISS's capabilities, > so I'd love to hear if it'd be simpler. > > > Thanks, > > -- > -bill! > Sent from my computer > > ------------------------------------------------------------------------------ > Crystal Reports - New Free Runtime and 30 Day Trial > Check out the new simplified licensing option that enables unlimited > royalty-free distribution of the report engine for externally facing > server and web deployment. > http://p.sf.net/sfu/businessobjects > _______________________________________________ > Tuxpaint-devel mailing list > Tux...@li... > https://lists.sourceforge.net/lists/listinfo/tuxpaint-devel |