Page 1 of 2

What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 11:05 am
by TI-994A
Hi everyone. I was wondering, among the number of free and open source installers, like WiX, InnoSetup, NSIS, etc., which one do you use or recommend?

Also, with PureBasic programs nicely bundled in a standalone executable, would it be possible for us to write our own simple installer?

In addition to copying the executable to the Program Files folder, Start Menu, Desktop and Quick Launch Bar, we would probably need to register the file/icon associations in the registry, and then save all this data in a file for uninstall purposes. Should there be anything else? Would the Windows Add/Remove utility be able to remove such an installed program as well?

Would appreciate your invaluable feedback. Thank you.

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 11:23 am
by Fred
We use InnoSetup since the beginning for PureBasic and it's a really nice piece of work.

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 11:41 am
by deeproot
I use NSIS and it does everything I need. Originally used for my VB6 projects as it handled all the messy run-time stuff really well. So just continued with it for PB programs, which of course only need much simpler scripts. Yes, it can do all the Windows uninstaller and so on.

Before that, long while ago, I used Indigo Rose Setup Factory - not free though. Easy to use with screens instead of scripting. Worked pretty good but not as flexible as NSIS - I only went up to version 5, don't know about later versions.

I've also heard a lot of people say InnoSetup is a nice alternative, perhaps I'll look at that sometime.

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 12:01 pm
by rsts
+1 innoSetup. Great software. Can be a little tricky sometimes, but allows you to do almost anything.

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 12:09 pm
by Shield
InnoSetup. :wink:

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 12:14 pm
by BorisTheOld
We've always used Inno Setup for Windows installations, ever since it was first released.
TI-994A wrote:Also, with PureBasic programs nicely bundled in a standalone executable, would it be possible for us to write our own simple installer?
Why re-invent the wheel? A more worthwhile endeavor would be to automatically create the Inno Setup scripts, so that you can use the full power of Inno Setup.

Here's a typical script as generated by our Data Dictionary package:

Code: Select all

' Script for Inno Setup Version 5.1.5

' DVS Data Dictionary

[Setup]
' compiler
Compression=bzip
DiskClusterSize=512
DiskSliceSize=1457664
DiskSpanning=no
InternalCompressLevel=normal
MergeDuplicateFiles=yes
OutputBaseFilename=dvs00dd_5
OutputDir=H:\DvsData\DVS\EZ\
ReserveBytes=0
SlicesPerDisk=1
SolidCompression=yes
SourceDir=H:\DvsData\DVS\EZ\
UseSetupLdr=yes
' installer
AllowCancelDuringInstall=yes
AllowNoIcons=no
AllowRootDirectory=no
AllowUNCPath=yes
AlwaysRestart=no
AlwaysShowComponentsList=yes
AlwaysShowDirOnReadyPage=no
AlwaysShowGroupOnReadyPage=no
AlwaysUsePersonalGroup=no
AppName=DVS Data Dictionary
AppId=dvs00dd_5
AppMutex=
AppPublisher=Deer Valley Software
AppPublisherurl=http://www.deervalleysoftware.ca
AppSupporturl=http://www.deervalleysoftware.ca/trouble.htm
AppUpdatesurl=http://www.deervalleysoftware.ca/download.htm
AppVersion=5.1.1
AppVerName=DVS Data Dictionary 5.1.1
ChangesAssociations=no
CreateAppDir=yes
CreateUninstallRegKey=yes
DefaultDirName={sd}\DeerValleySoftware
DefaultGroupName=Deer Valley Software\DVS Data Dictionary
DefaultUserInfoName={sysuserinfoname}
DefaultUserInfoOrg={sysuserinfoorg}
DefaultUserInfoSerial=
DirExistsWarning=auto
DisableDirPage=no
DisableFinishedPage=no
DisableProgramGroupPage=no
DisableReadyMemo=no
DisableReadyPage=no
DisableStartupPrompt=yes
EnableDirDoesntExistWarning=no
ExtraDiskSpaceRequired=0
'InfoAfterFile=ReadMe.txt
'InfoBeforeFile=Setup.txt
LanguageDetectionMethod=uilanguage
'LicenseFile=license.txt
MinVersion=4,4
OnlyBelowVersion=0,0
Password=
PrivilegesRequired=admin
RestartIfNeededByRun=yes
ShowLanguageDialog=yes
TimeStampsInUTC=no
Uninstallable=yes
UninstallDisplayIcon=
UninstallDisplayName=
UninstallFilesDir={app}
UninstallLogMode=append
UninstallRestartComputer=no
UpdateUninstallLogAppName=yes
UsePreviousAppDir=yes
UsePreviousGroup=yes
UsePreviousSetupType=yes
UsePreviousTasks=yes
UsePreviousUserInfo=yes
UserInfoPage=no
' cosmetic
AppCopyright=Copyright © 1977-2012 Deer Valley Software
BackColor=clBlue
BackColor2=clBlack
BackColorDirection=toptobottom
BackSolid=no
FlatComponentsList=yes
ShowComponentSizes=yes
ShowTasksTreeLines=no
WindowShowCaption=yes
WindowStartMaximized=yes
WindowResizable=yes
WindowVisible=no
WizardImageBackColor=$400000
WizardImageFile=compiler:wizmodernimage.bmp
WizardSmallImageFile=compiler:wizmodernsmallimage.bmp

[Tasks]
Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"; Flags: unchecked
Name: "quicklaunchicon"; Description: "Create a &Quick Launch icon"; GroupDescription: "Additional icons:"; Flags: unchecked

[Files]
' code from other vendors
Source: "ezgui50.dll"; DestDir: "{app}"; Flags: sharedfile
' dvs package
Source: "dvs00dd.exe"; DestDir: "{app}"; Flags: replacesameversion
Source: "dvs6020.dll"; DestDir: "{app}"; Flags: sharedfile
Source: "dvs6046.dll"; DestDir: "{app}"; Flags: sharedfile

[INI]
Filename: "{app}\dvs00dd.url"; Section: "InternetShortcut"; Key: "url"; String: "http://www.deervalleysoftware.ca"

[Icons]
Name: "{group}\DVS Data Dictionary"; Filename: "{app}\dvs00dd.exe"; WorkingDir: "{app}"
Name: "{group}\DVS Data Dictionary on the Web"; Filename: "{app}\dvs00dd.url"
Name: "{group}\Uninstall DVS Data Dictionary"; Filename: "{uninstallexe}"
Name: "{userdesktop}\DVS Data Dictionary"; Filename: "{app}\dvs00dd.exe"; Tasks: desktopicon; WorkingDir: "{app}"
Name: "{userstartmenu}\DVS Data Dictionary"; Filename: "{app}\dvs00dd.exe"; Tasks: quicklaunchicon; WorkingDir: "{app}"

[Run]
Filename: "{app}\dvs00dd.exe"; Description: "Launch DVS Data Dictionary"; Flags: nowait postinstall skipifsilent; WorkingDir: "{app}"

[UninstallDelete]
Type: files; Name: "{app}\dvs00dd.url"

' end of script

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 12:22 pm
by MachineCode
Yep, InnoSetup here.

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 2:54 pm
by jesperbrannmark
Anything cross platform?

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 3:12 pm
by ts-soft
jesperbrannmark wrote:Anything cross platform?
No, crossplatform installer make no sense :wink:

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 4:04 pm
by IdeasVacuum
... a cross-platform installer makes perfect sense to me.

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 4:07 pm
by ts-soft
A installer for linux or MacOS requires very different things than a installer for windows.
If a installer only extract files and put it in a directory, okay, but this is not a installer!

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 4:57 pm
by skywalk
Hi ts-soft,
Makes sense, but why no suggested Mac or Linux installers?

Did Fred/freak have to write their own installer for these OS's?

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 5:08 pm
by ts-soft
For Linux it is high recommed to use deb or rpm installer. For MacOS i think dmg.
For Business programs on Windows you have to use signed msi installer.

Inno Setup and NSI a good installers, but big companies don't accept this kind
of installer.

>> Did Fred/freak have to write their own installer for these OS's?
A installer that works on all linux distri is complicated and the install
of purebasic is so simple, why write a installer? :wink:

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 5:14 pm
by TI-994A
Hello guys. Seems that InnoSetup is the installer of choice, so I downloaded it and gave it try. After installing a test PureBasic program, I noticed that it had copied the executable to the Program Files folder, and placed the shortcuts in the Start Menu, and onto the Quick Launch bar and Desktop, as specified. However, there were no requests for file associations, and very little going on in the registry. It didn't even create a folder for the program in the registry under HKLM or HKCU, but instead had some strange entries under:

1. Software\Microsoft\Windows\ShellNoRoam\MUICache and
2. Software\Microsoft\Windows\CurrentVersion\Uninstall

Assuming the second one is the uninstall information required for the Add/Remove Programs utility, what else does the installer do?

Using PureBasic, we could copy the executable to those various folders, and even register the file associations with our program by writing to the registry. We could also write another program to reverse these actions, making our own uninstaller. Leaving the question: what else does the installer do?

Re: What Installer program do you use/recommend?

Posted: Wed Oct 10, 2012 6:10 pm
by rsts
TI-994A wrote: Leaving the question: what else does the installer do?
did you http://www.jrsoftware.org/ishelp/index. ... runsection?