 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Ed Dressel Guest
|
Posted: Mon May 14, 2007 8:36 pm Post subject: InnoSetup features |
|
|
I am current using Wise Installation System v 8 am and looking at moving to
something more up-to-date. I've downloaded InnoSetup and am not sure it can
support-out of the box-the features I need--I've just started looking at it.
Specifically, I have pretty much the same install routine for 8 different
installs. A few compiler directives, lots of variables. Does Inno Setup
support:
1) Compiler directives. Some of the installs have specific files they need
to install, others do not. I currently used compiler directives for this in
Wise. Looking real quickly, I did not see them in Inno. What would be the
approach in Inno?
2) I have INI files for each compile that determine file names (e.g. each
one has a different EXE file name and help file name). Is this possible in
Inno?
3) Setup.exe name--changes baded on which installl is being created.
Thanks
Ed Dressel
--
Ed Dressel |
|
| Back to top |
|
 |
Uffe Kousgaard Guest
|
Posted: Mon May 14, 2007 8:42 pm Post subject: Re: InnoSetup features |
|
|
"Ed Dressel" <none> wrote in message news:46488203 (AT) newsgroups (DOT) borland.com...
| Quote: | I am current using Wise Installation System v 8 am and looking at moving to
something more up-to-date. I've downloaded InnoSetup and am not sure it can
support-out of the box-the features I need
|
You better ask here: news://news.jrsoftware.org/
But generally I think you can all what you ask for. This is just one example
of how to define the application name, based on compiler directives in the
script:
; Define one of these
;#define Free
#define Pro
#ifdef Free
#define AppName "free"
#endif
#ifdef Pro
#define AppName "pro"
#endif
[Setup]
AppName=MyApp {#AppName} |
|
| Back to top |
|
 |
Kathire Guest
|
Posted: Mon May 14, 2007 11:35 pm Post subject: Re: InnoSetup features |
|
|
You can do all the things you are asking for with InnoSetup. Try downloading
the QuickPack , instead of the innosetup compiler alone. The QuickPak
contains the Istool which is equivalent to that of the Wise IDE.
-Kathire |
|
| Back to top |
|
 |
Dean Hill Guest
|
Posted: Tue May 15, 2007 3:51 pm Post subject: Re: InnoSetup features |
|
|
Ed Dressel wrote:
| Quote: | 1) Compiler directives. Some of the installs have specific files
they need to install, others do not. I currently used compiler
directives for this in Wise. Looking real quickly, I did not see them
in Inno. What would be the approach in Inno?
|
The pre-processor makes this really easy in Inno. The preproc is
included with ISPack.
| Quote: | 2) I have INI files for each compile that determine file names (e.g.
each one has a different EXE file name and help file name). Is this
possible in Inno?
|
Again, this is easy with the preprocessor.
| Quote: | 3) Setup.exe name--changes baded on which installl is being created.
|
Not a problem.
Example of PreProcessor. Some stuff trimmed for easy reading.
#ifdef AppEnterprise
#define AppName "My Program Enterprise Edition"
#else
#define AppName "My Program"
#endif
#define AppVersion GetFileVersion(AddBackslash(SourcePath) +
"MyProg.exe")
[Setup]
AppName={#AppName}
AppVerName={#AppName} version {#AppVersion}
DefaultDirName={pf}\{#AppName}
DefaultGroupName={#AppName}
UninstallDisplayIcon={app}\MyProg.exe
[Files]
Source: "MyProg.exe"; DestDir: "{app}"
#ifdef AppEnterprise
Source: "MyProg.hlp"; DestDir: "{app}"
#endif
Source: "Readme.txt"; DestDir: "{app}"; \
Flags: isreadme
--
Dean |
|
| Back to top |
|
 |
G.W. van der Vegt Guest
|
Posted: Tue May 15, 2007 5:13 pm Post subject: Re: InnoSetup features |
|
|
Hi,
| Quote: | 3) Setup.exe name--changes baded on which installl is being created.
Not a problem.
|
Assuming you want to append the version info of an exe file to the setup.exe
installer you could have a look at the following code (App.exe is the
executable used to retrieve version info from, but I also have code to parse
a textfile to retrieve it from). It also embeds the version info into the
installers exe.
You'll need ISTool for it to build this installer.
--
Wim van der Vegt
------<cut here
; Retrieve fileversion from executable file:
#define MyMainFile "App.exe"
#define MySourceDir "C:\Sources"
#define MyFullMain AddBackslash(MySourceDir) + MyMainFile
#define MyGetBuild() ParseVersion(MyFullMain, Local[0], Local[1],
Local[2], Local[3]), Str(Local[3]);
#define MyGetVersion() ParseVersion(MyFullMain, Local[0], Local[1],
Local[2], Local[3]), Str(Local[0]) + "." + Str(Local[1]);
#define MyGetSuffix() "v" + MyGetVersion() + " Build " +MyGetBuild()
#define MyVersion() ParseVersion(MyFullMain, Local[0], Local[1],
Local[2], Local[3]), Str(Local[0]) + "." + Str(Local[1]) + "." +
Str(Local[2]) + "." + Str(Local[3]);
[Setup]
AppCopyright=
AppName=App
AppVerName=App Editor
OutputDir={#MySourceDir}\Setup
DefaultDirName={pf}\App
DefaultGroupName=App
OutputBaseFilename=App_Setup {#MyGetSuffix()}
SourceDir={#MySourceDir}
VersionInfoVersion={#MyVersion()}
[Files]
Source: App.exe; DestDir: {app}; Components:
[Icons]
Name: {group}\App; Filename: {app}\App.exe; WorkingDir: {app}; IconFilename:
{app}\App.exe; Comment: App; IconIndex: 0
------<cut here
; Search for a source line:
; sVersion = '3.9';
; in SrcDir + VerSrc
#define SrcDir "C:\Sources"
#define VerSrc = "Version.pas"
#define VerStr = "sVersion = '"
;retrieve Version Number.
#define FileLine
#define FileHandle
#sub ProcessFileLine
#if Pos(VerStr, FileLine)
#define start = Pos(VerStr, FileLine) + Len(VerStr);
#define public Version = "v"+Copy(""+FileLine, start,
Len(FileLine)-start-1)
#pragma message "Detected Version: " + Version
#endif
#endsub
#for {FileHandle = FileOpen(SrcDir+"\"+VerSrc); FileHandle &&
!FileEof(FileHandle); FileLine = FileRead(FileHandle)} ProcessFileLine
[Setup]
OutputBaseFilename=App {#Version}
VersionInfoVersion={#Version}
------<cut here |
|
| Back to top |
|
 |
Olivier Beltrami Guest
|
Posted: Tue May 15, 2007 8:28 pm Post subject: Re: InnoSetup features |
|
|
"Ed Dressel" <none> wrote in message news:46488203 (AT) newsgroups (DOT) borland.com...
| Quote: | I am current using Wise Installation System v 8 am and looking at moving to
something more up-to-date. I've downloaded InnoSetup and am not sure it can
support-out of the box-the features I need--I've just started looking at
it.
|
I have used Wise since version 1.6 (back in 1994) and am now using version
9.02 on all available Windows platforms. It lacks some of the eye-candy of
Install-Aware, and definitely lacks the evangelical crowd of Inno Setup, but
if you plan on switching away from Wise, be ready for an uphill, unpleasant,
stint.
Here's what I found, trying to move to both of these other installers.
Install-Aware has great support, looks reaaly cool, but because it is
limited to the MSI format it is basically a big ZIP blob with no "script
intellignece". It is akin to installing software images; you setup a few
different images at design-time, but once it ships it basically behaves like
a multi-option self-extracting zip. Not a criticism of Installwawre, more of
the MSI format. Anyways spent weeks with tech support trying to reproduce
basic Wise scripts and got nowhere.
Innosetup seems to be able to do it all, probably more than Wise, but as all
the other posts show, be ready to fire-up the text editor and manually type
INI strings and conditional defines. I use Inno for all my freeware installs
which are basic copy an installation folder installs. But for more complex,
script-based installs, I am still with Wise.
HTH.
Olivier |
|
| Back to top |
|
 |
Uffe Kousgaard Guest
|
Posted: Tue May 15, 2007 9:12 pm Post subject: Re: InnoSetup features |
|
|
"Olivier Beltrami" <olivier(some@junk)ae-soft(someother.junk)net> wrote in
message news:4649d188 (AT) newsgroups (DOT) borland.com...
| Quote: | and definitely lacks the evangelical crowd of Inno Setup
|
Amen  |
|
| Back to top |
|
 |
Dean Hill Guest
|
Posted: Wed May 16, 2007 8:13 am Post subject: Re: InnoSetup features |
|
|
Matthew Jones wrote:
| Quote: | Also consider InstallAware, which uses MSI and has given me less
hassle that Inno for Vista. It costs money though.
|
I think for .NET applications or applications with newer MS
dependencies MSI makes sense. For non .NET applications, that extra
3Meg can be a bit of a pain.
--
Dean |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|