Archive: Are merge modules supported?


Are merge modules supported?
I've read a discussion on this topic, but finally haven't understood ether NSIS supports merge modules (e.g. bdemm32) or not, perhaps due to my brilliant English :). Today I call usual BDE installer from within my setup.exe and it's not nice way.

So, I have 2 questions:
1. Subj.
2. Is there any alternative way to silently install BDE? (alias creation is not a problem, i've written the appropriate tool).

Thanks.


You can execute them using msiexec. Please search the forum, there are many threads about this topic. Same goes to BDE, many threads and there are also Archive pages. This one for example.


Great thanks.
I decided to use the method from the link given, but there are some little questions. I'm not familiar with DLLs' details, so would you answer:
For what purpose /NOUNLOAD have been used?
May I delete temporary file named $0 after CallInstDll is done?


This thread shows why /NOUNLOAD is needed. But that crash should have been fixed two months later. I think it should be OK to delete the temporary file after CallInstDLL returns, but it should be tested.


One more question:
Bdeinst.dll::DllRegisterServer reports "not enough space on C:", but then installs BDE successfully. C: volume has FAT32. I haven't such message for D: (NTFS). Where is the problem? Error messages are not too pleasant for end-users.


And one more:
Can I request focus of BDE installer (by default it remains on NSIS-made installer)?


I don't know the BDE installer that well, so I can't help you with that message.

To set the focus, assuming the CallInstDLL/RegDLL/System.dll call you're using returns before the window closes, you can find the window using FindWindow and set focus to it using a System.dll call (using SetForegroundWindow for example).


Thank you for support, but I decided to use my first variant. There are to reasons for it:
1. It's impossible to make BDE installation silent.
2. Installation from BdeInst.dll fails often.