create new tag
, view all tags

TWikiInstallerWindowsContribDev Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on TWikiInstallerWindowsContrib contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please report bugs below

Feedback on TWikiInstallerWindowsContrib

-- 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 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 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/ :

  • grep
  • ls
  • wget

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.

  1. Testing with DakarRelease (Dakar's configuration is completely different to Cairo's)
    1. 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

  1. twikinst.exe would be better named TWikiOn.exe
e.g. TWiki01Sep2004OnWindowsIIS.exe; the myscript.nsi file also needs naming the same way.
  1. Many of the comments documenting install.ini are not in English: I can help better if its written that way.
  2. I've still not run the exe as I don't want an IIS install.
  3. 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:

  1. A perl version (TWiki administrators will likely learn a bit of perl)
    1. Writing it in perl means that perl should be preinstalled. Wanted to avoid that. -- TC
  2. Configuration options in a separate config file
    1. 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):

  1. Support for Apache
    1. 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
  2. Choice of UnxUtils or GnuWin32 or CygWin
    1. 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

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r4 - 2006-04-28 - MartinCleaver
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.