Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why do some installers need to restart the computer before you run the program?

I'm fairly new to deploying desktop applications, so this is the first time I'm building an installer for my software. Currently, the first time I run my software after installing it, it crashes. After that, it runs fine. I'm still in the process of debugging this issue, but I've noticed that a reboot immediately after installing and before running the software seems to fix this crash.

What are common reasons that some installers ask you to reboot before running the software?

Also, why do some installers need to restart before finishing the installation?

Thanks in advance!

like image 588
BeachRunnerFred Avatar asked Oct 26 '08 02:10

BeachRunnerFred


1 Answers

Generally, reboots between install and running are because you're replacing system DLLs that are locked. The installer sets up a run-once registry entry that copies the DLLs during boot before they're locked by Windows, and then your application can use the new DLL that you laid down.

In general, this is highly discouraged. There should be no reason anymore for anyone other than Windows itself to need to reboot after install anymore.

I'd suggest going back into a debugger to find out more details about why your application is crashing. Hopefully you have enough tracing available in your code to allow that type of debugging.

like image 115
Tanktalus Avatar answered Nov 16 '22 03:11

Tanktalus