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
General questions on NSIS
4 posts
- 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.
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
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
You do not need the System plugin to call your self written plugin.
Just write the DLL, see example plugin source.
Just write the DLL, see example plugin source.