1
votes

I saw this excellent article: Inno Setup - Correct use of [Types], [Components] and [Tasks] on components and types.

I currently have three separate setup.exe projects (iss) to install:

  1. The program executable (default to: C:\ProgramFiles/ ) i.e. {pf}
  2. a setup of js/css/html (default to: c:\wwwroot\sherlock
  3. a setup to install image files (jpg/png) files (default to: c:\wwwroot\toby

I want the user it be able to redirect the default locations for each of these three "components" (i.e. perhaps his /wwwroot is on the G drive, or something like that. I don't see anyway in the Source: command other than to send this to {app}

Source: "Z:\EGPL Librarian Releases\Sample Installation\wwwroot\Sherlock\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

Question: can this be done with components and types as the above article? Should I rather create an installer of installer programs and keep the three separate setups? (And can you show me an example of an installer of installer programs?)

I am looking for a simple solution, since I have other work to do.

1
We all have other work to do! Please don't as others to do your work, your current question looks like that to me. - jachguate
Ah, it looks like another normal case of "remote distrust and obfuscation". All I was trying to do is give a reason for why I want the "simple" verison, as opposed to the correct. Beside, I differ from you about asking "newbie" design and approach questions, especially for poorly documented FOSS software. Adding a new thread in StackOverflow about the design approaches (which is what Miral did below) is very useful, and becomes part of a knowledge base that is simply not available at the inno setup site. Thank you Miral. - Dr.YSG
I'm not against asking newbie questions here. I still think your last comment is superfluous as it was really not necessary. - jachguate
Inno is not poorly documented. - Miral

1 Answers

4
votes

See this page. Note that it was written for an older version of Inno, but it should be easy enough to adapt.

Components/Tasks are for optional things. If your items are not optional then there's not much point in using them.

As for whether to make a single installer or an installer of installers -- the main question there is what you want to happen at uninstall time. If you want the user to be able to uninstall each part separately then you must create separate install scripts with unique AppIds (and then optionally make an installer of installers for them). If you want them to always be uninstalled together then you can make a single script.