I am the author of WinPackMan (http://www.winpackman.org/). And let me tell you, it's harder than it looks. Initially, I was going to use the whole "use NSIS, or the normal developer's installers" approach. It's just not practical. A normal program installer spreads things so far over the entire system it's incredible:
*Main folder (C:\Program Files)
*Libraries (C:\Windows\system32, etc.)
*Some "common files" (C:\Documents and Settings\All users\*)
*User specific files (C:\Documents and Settings\User\*)
*Start Menu (C:\Documents and Settings\User\Start Menu)
*Program Specific Registry (HKEY_LOCAL_MACHINE\Software)
*User Specific Registry (HKEY_USERS\*\Software)
*Run Registry (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Cur rentVersion\Run, HKEY_USERS\*\Software\Microsoft\Windows\CurrentVer sion\Run)
*Start-Menu Startup (Documents and Settings\User\Start Menu\Startup)
*Environment Variables (of course)
*Any other misc things (fonts, etc).
*Of course, these vary somewhat between versions of Windows. And you have to keep track of everything for uninstall. As well as any created during the course of running the program (firefox profiles for each user, etc).
I mean, good lord. With WinPackMan, I've tried to standardize it a little with ZIP packages, but it is EXTREMELY difficult. The current idea seems promising, although my time is limited at the moment. But I can't even imagine something like firefox being distributable that way in the forseeable future. If your starting out, try learning from past mistakes. Or have an epiphany.
I am the author of WinPackMan (http://www.winpackman.org/). And let me tell you, it's harder than it looks. Initially, I was going to use the whole "use NSIS, or the normal developer's installers" approach. It's just not practical. A normal program installer spreads things so far over the entire system it's incredible:
r rentVersion\Run, HKEY_USERS\*\Software\Microsoft\Windows\CurrentVer sion\Run)
*Main folder (C:\Program Files)
*Libraries (C:\Windows\system32, etc.)
*Some "common files" (C:\Documents and Settings\All users\*)
*User specific files (C:\Documents and Settings\User\*)
*Start Menu (C:\Documents and Settings\User\Start Menu)
*Program Specific Registry (HKEY_LOCAL_MACHINE\Software)
*User Specific Registry (HKEY_USERS\*\Software)
*Run Registry (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Cu
*Start-Menu Startup (Documents and Settings\User\Start Menu\Startup)
*Environment Variables (of course)
*Any other misc things (fonts, etc).
*Of course, these vary somewhat between versions of Windows. And you have to keep track of everything for uninstall. As well as any created during the course of running the program (firefox profiles for each user, etc). I mean, good lord. With WinPackMan, I've tried to standardize it a little with ZIP packages, but it is EXTREMELY difficult. The current idea seems promising, although my time is limited at the moment. But I can't even imagine something like firefox being distributable that way in the forseeable future. If your starting out, try learning from past mistakes. Or have an epiphany.