tstening
8th December 2005 09:48 UTC
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
8th December 2005 21:10 UTC
- 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
9th December 2005 01:57 UTC
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
11th December 2005 00:34 UTC
You do not need the System plugin to call your self written plugin.
Just write the DLL, see example plugin source.