« Virtual PC and Trialware | Main | Photoblogging Software »

Tonight's activities

I spending the evening listening to music from GarageBand.com.

Garagebandui

I’ve listened to  Letting Go by retrograde  (pictured),  Headphones by retrograde ,  Throwing Stones by Tourist ,  Release by Intangible,  Orange and Gray by Sky Walker,  Halfway (rock) by Trip2Go, Newradio by Tourist, Leave it all behind by Underwhelmed, and more!

All of these were from the "Modern Rock" category. The track I'm listening to right now is called Something Beautiful by From Within and it's providing a nice background for my work.

I’m also going through my del.icio.us toread items.

First up is a new installer technology called inno setup. I was introduced to Nullsoft’s Installer (NSIS) at work and I quickly adapted it to a few small .NET programs I wrote. What’s nice about NSIS is that it’s free and it can run in batch mode.

Inno Setup has these same features but provides a minimal IDE that offers syntax highlighting and integrated debugging. Unfortunately, the IDE doesn’t support any kind of auto-completion so I still have to dig through the docs or look at sample code to see what’s possible.

Anyway, I thought I’d build an installer for a program I wrote and see how easy things were. Here is a shot of the IDE and a minimal script:

Innosetup1

As you can see, there’s not much to it. What did this generate when I compiled it? It generated modern-looking installer that copied all of these files to C:\Program Files\My Program (giving me the choice to change this default). It also generated an uninstaller with no more work. From what I know of NSIS, it doesn’t automatically undo files you install. Of course, this isn’t always desired. I’m sure there is a way to control this more specifically.

The number of options that you have when configuring the installer is impressive. Here is a sampling of the more interesting options that you have:

  • Compression (zip, zip/1–zip/9, bzip, lzma, lzma/fast/normal/max/ultra, etc.)
  • DiskClusterSize / DiskSlideSize / DiskSpanning (to optimally fill floppies to DVD’s)
  • Encryption using ARCFOUR 128–bit encryption
  • MergeDuplicateFiles
  • OutputBaseFilename
  • OutputDir
  • ReserveBytes (leave room for my Readme!)
  • SolidCompression (one compression table instead of one table per file, better overall crunching)

and the list goes on!

  • AllowCancelDuringInstall
  • AllowNoIcons
  • AllowRootDirectory
  • AllowUNCPath
  • AlwaysRestart
  • AlwaysShowComponentsList
  • AlwaysShowDirOnReadyPage
  • AlwaysShowGroupOnReadyPage
  • AlwaysUsePersonalGroup
  • AppendDefaultDirName
  • AppendDefaultGroupName
  • AppComments
  • AppContact
  • AppId
  • AppModifyPath
  • AppMutex
  • AppName 
  • AppPublisher
  • AppPublisherURL
  • AppReadmeFile
  • AppSupportURL
  • AppUpdatesURL
  • AppVersion
  • AppVerName 
  • ChangesAssociations
  • ChangesEnvironment
  • CreateAppDir
  • CreateUninstallRegKey
  • DefaultDirName 
  • DefaultGroupName
  • DefaultUserInfoName
  • DefaultUserInfoOrg
  • DefaultUserInfoSerial
  • DirExistsWarning
  • DisableDirPage
  • DisableFinishedPage
  • DisableProgramGroupPage
  • DisableReadyMemo
  • DisableReadyPage
  • DisableStartupPrompt
  • EnableDirDoesntExistWarning
  • ExtraDiskSpaceRequired
  • InfoAfterFile
  • InfoBeforeFile
  • LanguageDetectionMethod
  • LicenseFile
  • MinVersion
  • OnlyBelowVersion
  • Password
  • PrivilegesRequired
  • RestartIfNeededByRun
  • ShowLanguageDialog
  • TimeStampRounding
  • TimeStampsInUTC
  • TouchDate
  • TouchTime
  • Uninstallable
  • UninstallDisplayIcon
  • UninstallDisplayName
  • UninstallFilesDir
  • UninstallLogMode
  • UninstallRestartComputer
  • UpdateUninstallLogAppName
  • UsePreviousAppDir
  • UsePreviousGroup
  • UsePreviousSetupType
  • UsePreviousTasks
  • UsePreviousUserInfo
  • UserInfoPage

That’s all for now.

TrackBack

TrackBack URL for this entry:
http://www.primordia.com/blog/mt-tb.cgi/190