Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


#496 creating web installers using nsis?


We would like to use NSIS to create scripted browser-based installation routines for web applications that are php based, without having to create our own installation routine.
We understand this is currently not supported?

Are there any plans to provide support for this? Specifically, one will need a way to configure multiple "configuration pages", with input variables.

And the creator of the installation image should have an option to specify files and folders, including their corresponding permissions.
In addition having a way to test database connectivity and set up database configurations would be very useful.
Having an option to directly import SQL dumps or execute SQL scripts would also be useful.

Please let us know what you think

[1] http://forums.winamp.com/showthread.php?goto=lastpost&threadid=322024


  • Jim Michaels
    Jim Michaels

    one would want to know what database executable exactly you are going to execute. also, you need to consider that some people's database has a user account on it. and you don't know their password. well, maybe. it can be detected in my.ini in xampp. it depends upon WHICH installed server package (xampp, bintnami, wampp, lampp,etc) you are working with I suppose...

    it's likely to be a big installer file with lots of code in it, or a DLL you must write with all that string searching and manipulation code in there.

    probably need to keep a 64-bit "current place" file pointer using fsetpos() and fgetpos() in 64-bit mode.

    while (filesize != current file pointer) {
    read block of text to search for (line, whatever).
    current file pointer = fgetpos().
    search for string using c++ or C using stristr or string.find()
    if (string found) {
    rewrite the line to temporary file what's appropriate or append the right code.
    } else {
    fsetpos(current file pointer)
    output current line.
    current file pointer=fgetpos()