Archive: modified UpgradeDll


modified UpgradeDll
I made some modifications to UpgradeDLL macro:

- it can be used to upgrade COM exe servers
(server.exe /regserver, server.exe /unregserver)

- if necessary it set rebootflag to true
(for example after Rename /REBOOTOK )

- It can be used to upgrade any files (dll, exe, tlb, etc)
so it can be renamed to upgradeFILE


You don't have to set the reboot flag manually, NSIS sets if a reboot is required.


I've noticed a couple of instances where Rename /REBOOTOK didn't cause a reboot at the end of my install. Any suggestions?

Adam


If a reboot is not required (the file is not in use), it won't reboot.


Right, except in is case, I think it does require a reboot. The file is copied to a temp file name in the details window, which I think is an indication that a reboot is required. Am I correct, or no?

If I do the install a single time, I think it does do the renaming on reboot. However, if I do the install 2x in a row, I get errors on reboot (in a dos window). I forget the exact text of the error.

Is there any way for me to have the install generate a detailed log that will give me a clue as to whats going on? If so, I could maybe attempt to isolate the problem in my install script or in the code on the off chance its in NSIS.

And don't think I'm cutting on NSIS. Its the greatest, coolest installer I've used or seen. I just need this bit to work properly and I'm willing to devote some time and legwork to track down the problem. Just let me know if there is any information I can collect for myself (or others) that would be useful concerning this issue.

Adam


I just ran it again to try to confirm the issue. I installed a single time on a clean machine. It didn't prompt me to reboot and the application worked immediately....

Is there any way, short of checking registry settings, to see if anything is scheduled for a reboot (like renaming files)?

Adam


Actually checking registry settings would be fine too. Would they be in the same place as the register dll command is place when its schedule for a reboot. ....\RunOnce I believe??

Thanks much,

Adam