Skip to content
⌘ NSIS Forum Archive

General questions on NSIS

4 posts

tstening#edited

General questions on NSIS

Hello,

currently I'm evaluating NSIS and I'm not sure, if the following requirements are met by NSIS:

- Creating users and usergroups
- Starting external EXE-Files during installation
- Evaluating, if ODBC is installed
- Evaluating, if an ODBC-driver with a special version is installed
- Evaluating, if a printer-driver with a special version is installed

The last three requirements could be evaluated by using registry-keys, correct?

Can anyone give me a hint or point me to some tutorial?

Greetings,
Tobias
kichik#
  • To manipulate users and groups, you can use the UserMgr plug-in.
  • To execute an executable, you can use Exec, ExecWait, ExecShell, the nsExec plug-in (bundled with NSIS) or the ExecDos plug-in.
  • The Wiki contains some pages about ODBC, that'd probably help.
  • I don't know how you can check for a specific printer driver. If it's really in the registry, you can use ReadRegStr to get it. If it requires some Windows API, you can use the System plug-in, or write your own plug-in.
tstening#
Hello kichik,

thank you for your help. I already tested the UserMgr plug-in and ExecWait. It works fine.

For the ODBC-test I used ReadRegStr:

ReadRegStr $0 HKLM 'SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers' "Microsoft Access Driver (*.mdb)"

If the key exists, $0 has the value "Installed". That's enough for my needs.

I need to check, if FinePrint is installed. I don't know yet exactly, but it should be possible to check it in the registry. If not, i will be using the System plug-in for calling a self written dll.

Tobias
onad#
You do not need the System plugin to call your self written plugin.

Just write the DLL, see example plugin source.