--
MartinCleaver - 08 Jan 2006
Could you add the correct form to the
TWikiInstallerWindowsContrib and also the actual content?
--
PeterThoeny - 10 Jan 2006
There's no formal package yet so its not time to make it look like one. I've moved everything else around though.
--
MartinCleaver - 12 Jan 2006
NSIS uglyness
Wow. NSIS is one ugly language - I read somewhere that it is inspired by assembly and PHP! Functionality does look fairly comprehensive though and one saving grace is that it is possible to create windows installer using a compiler running Linux (See the manual, Section 2.4)
As for the goto-s the NSIS script language is not very comfortable - it looks a lot like a
PostScript.
I flicked through the code, and although NSIS looks fairly powerful, I assume the Gotos in the code indicate a lack of structured programming techniques available in NSIS. For as long as the installer code remains small this is not much of an issue. If you start needing to maintain configuration code then please ask us about how you would build and bundle a Contrib containing the windows specifics: its quite simple but not overly well documented.
I'm still not clear how NSIS and your package works. For example, unattended.txt is clearly bundled into the resulting exe file but I don't see any instruction to the compiler to include it. From the manual, section 4.9.1.5 I thought the "File" keyword did that. This is particularly important as we'd want people to be able to get a fully functioning TWiki up from a CD or download without needing to connect back to the internet. If the installer does go back to the internet it should only go back to twiki.org - we'll need to work out what it needs and arrange for permanent download areas for such files.
If we stick with NSIS then we ought to make a few decisions. Modularisation is particularly important here as the language is very cryptic - I read about the
LogicLib (documented in 2.3.5.1) but it has a horrible syntax and still fairly unreadable. We should avoid any use of NSIS's goto keyword as Perl people are accustomed to being able to add blank lines. Such formatting would break a NSIS script.
Moving code into user functions (2.3.4) / macros would allow the main script to consist of readable high-level steps, and provide the means for different installers (e.g.
IndigoPerl and the
ActiveState) to share code. I guess this also means use of the NSIS "Section" directive
In time it would be nice to give the user an NSIS Page with options to configure where to put Perl and TWiki on the machine.
Writing the TWiki configuration parts in perl rather than NSIS seems sensible to me. This would provide for greater code sharing with other target platforms for TWiki and minimise the number of people needing to learn NSIS.
Todor's Cairo ActiveState IIS version
Matt's Test Run
From downloading and running
setup.exe what I see this package doing is:
Automaticly downloading and installing:
There are no prompts and no warnings. Active Perl puts an uninstall entry in control panel Add/Remove Programs but there aren't for the other two items.
The program activates IIS so if you have apache installed already you'll have the two walking over each other.
There is an
install.ini which controls the install locations and the level of automation but you don't get a chance to look at it before the pogram executes. I don't know what happens if any of the files or folders already exist. The setup.exe is a self-extracting archive so I recommend using 7zip or whatever to extract the contents and then examine/change the install parameters.
Wierdly, the install program also created a start menu Games group for the default windows games (hearts, reversi, etc.).
--
MattWilkie - 11 Jan 2006
We need a Dakar IndigoPerl version
Hi Todor,
I think I'd most like it to be an .MSI installer, and one that installed the
GnuWin32 helper files.
I know that you said Cairo is the official release but
DakarRelease is so fundementally different to Cairo and so close to release that I think everyone would be better off if you develop for that. Its more robust and under a mod-perl like environment much faster.
All the configuration options work very differently: bin\testenv has gone, its replaced by bin\configure.
Someone else will have to give you input for an IIS, I don't use it. I like
IndigoPerl (pre-integrated Perl,
ModPerl, Apache).
Assume I mean the windows SYSTEMDRIVE where I say C: below:
IndigoPerl in c:\Program Files\IndigoPerl and TWiki in c:\Program Files\TWiki. Data and Pub should be in My Documents\TWiki, the other dirs in c:\Program Files\TWiki
You'd need to use a
DakarRelease package as the input.
From memory, I'd preintegrate from
http://sourceforge.net/projects/gnuwin32/
:
I hope this helps.
--
MartinCleaver - 23 Oct 2005
To be most useful we would bring this work into the core and broaden its applicability so that it works with
IndigoPerl (Apache/ModPerl) and
GnuWin32.
Also TWiki Dakar is due out soon and much of its configuration process is different as it is done through the web. As you know I'd want an
IndigoPerl based version anyhow: we'd need a strategy to share code.
- Testing with DakarRelease (Dakar's configuration is completely different to Cairo's)
- Used the last available official release. Maybe do something for DakarRelease some day. -- TC
--++ Open Invitation
Therefore: I invite anyone who would like to step forward and volunteer to help build on and broaden Todor's acheivements. At some point I might feel compelled but this is an opportunity for others to make a difference.
Hopefully my comments will give you encouragement to continue to maintain this for
DevelopRelease: TWiki's widespread adoption on a Windows platform is certainly a goal of mine.
I believe Todor is still working on the code.
--
MartinCleaver - 31 Oct 2005
--
MartinCleaver - 26 Nov 2005
--
MartinCleaver - 12 Jan 2006
Other notes
- twikinst.exe would be better named TWikiOn.exe
e.g.
TWiki01Sep2004OnWindowsIIS.exe; the myscript.nsi file also needs naming the same way.
- Many of the comments documenting install.ini are not in English: I can help better if its written that way.
- I've still not run the exe as I don't want an IIS install.
- I think we get silent install (nothing seen on screen) by using NSIS
--
MartinCleaver - 12 Jan 2006
Things to think about if before more work continues:
- A perl version (TWiki administrators will likely learn a bit of perl)
- Writing it in perl means that perl should be preinstalled. Wanted to avoid that. -- TC
- Configuration options in a separate config file
- There is install.ini config file having several important options. there are a few more to be added but it works for now -- TC
Additionally (and I say this because I appreciate these are outside your need):
- Support for Apache
- Apache and Cygwin have a lot of tested enviromnents and if following the WindowsInstallCookbook it is not that difficult to install. UnxUtils was chosen because it was the simplest utils package. -- TC
- Choice of UnxUtils or GnuWin32 or CygWin
- I need only several of the utils so if you can suggest windows implementation of grep,ls and diff different from taht I would include it instead - downloading 3MB looks very much. -- TC
Alternatively Apache/Perl support could come by creating an
IndigoPerl IPM repository designed specifically for TWiki. See the screenshot on the
IndigoPerl page.
Further, we need to think about data/ and pub/ being, say, in My Documents/TWiki and
MoveAttachmentsOutOfPub.
Thanks again. M.
--
MartinCleaver - 12 Oct 2005 (Todor's comments integrated by Martin and annotated TC)
This contrib is listed in the
ContribPackage index page, but there is no indication what it does. The contrib needs a SHORTDESCRIPTION.
Also, the "tested on" form field is empty.
--
PeterThoeny - 07 Mar 2006
MyDocuments store
--
MartinCleaver - 28 Apr 2006