Archive: Install Options DLL Suggestions/Questions


Install Options DLL Suggestions/Questions
Hi,

1. Would it be possible for InstallOptions to remember the state in the registry so when someone reinstalls, potentially months later it will remember the users previous choices.

2. Would it be possible to provide an alias to a field so I don't have to read field number 5 when this might change at any time if I redesign my dialog. I would wish to name each one I am interested in, particularly if (1) implemented.

3. Can the INI handling be improved to handle $INSTDIR, $R0 etc.

4. It would be a good idea to have a $NSIS which points to the NSIS base directory on the current box, allowing you to access Installoptions.dll etc.

5. The common functions which are in the download, can I suggest that NSIS include a mechanism to imbed named standard functions from a "library" so cut & paste is not required and they can be improved by all and automatically update on the next build.

6. To get around (3), I tried to read the INI and create a new one thinking that $INSTDIR etc would get expanded (and allowing me to store info in registry), however there appears to be no mechanism to cause expansion of variables (as there is for env vars).

7. I think basic string manipulations such as split, replace, pos, join, case translation should be provided (at least as includable functions)...


8. It would help if there were more examples in the manual...

Sorry for the long list but I have just started using the InstallOptions DLL and that is the issues I have come accross...

I do by the way like the InstallOptions DLL and how it integrates reasonably well with NSIS (which is why I started using it).

Bye
Dennis


Dennis,

some answers to your questions:

it's possible to save to the registry after reading the results from the INI. That should cover your first point. Furthermore, you can create a basic INI file (eg. without strings for labels) and fill in the details at runtime using WriteINIStr. Then you can use all available variables to set label strings or other items (eg. I have a basic INI with 7 fields and I use it for 4 different pages with questions or install info. Then, using InstOpts.dll like this you can use StrCpy to do the necessary string operations.

I hope this answers at least a few of your questions,

good luck, greetz, Hendri.


Originally posted by Smile2Me
Dennis,

some answers to your questions:

it's possible to save to the registry after reading the results from the INI. That should cover your first point. Furthermore, you can create a basic INI file (eg. without strings for labels) and fill in the details at runtime using WriteINIStr. Then you can use all available variables to set label strings or other items (eg. I have a basic INI with 7 fields and I use it for 4 different pages with questions or install info. Then, using InstOpts.dll like this you can use StrCpy to do the necessary string operations.
Would it be possible to send me some sample code of this? If so please send to dbareis@labyrinth.net.au (just what you have - I can work it out).

Thanks,
Dennis

dennis,

the e-mail is on its way.

good luck, greetz, Hendri.


Hi Dennis,

I don't think I completely understand dot point 4, but I think you're looking for $EXEDIR, which is the directory containing the installer?

Cheers from Melbourne!


Originally posted by petersa
Hi Dennis,

I don't think I completely understand dot point 4, but I think you're looking for $EXEDIR, which is the directory containing the installer?

Cheers from Melbourne!
Yes you are right $EXEDIR sounds like it will do the trick, at least to me this was not obvious from the description in the doco.

Cheers from Melbourne also!

Bye
Dennis