Kuzma
11th November 2004 14:23 UTC
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.
kichik
11th November 2004 19:34 UTC
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.
Kuzma
12th November 2004 12:24 UTC
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?
kichik
12th November 2004 12:48 UTC
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.
Kuzma
12th November 2004 13:50 UTC
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.
Kuzma
12th November 2004 14:00 UTC
And one more:
Can I request focus of BDE installer (by default it remains on NSIS-made installer)?
kichik
12th November 2004 14:05 UTC
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).
Kuzma
15th November 2004 06:59 UTC
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.