Why does setup.exe make computers reboot?

A lot of installation programs
makes you restart the computer.

Like Internet Explorer and MS Office.

Why is this done?

Is the registry settings for a program read when the program starts or when win95 starts?
steinjeAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

j_powersCommented:
The reason why is because there are a lot of files and devices that are initialized on startup. When a program changes them, or changes a file that is affected by them, then the reboot needs to be done to reload the program.

Your concern is a valid one. In some cases you can install, and do not have to reboot.

Last week, I installed CorelDraw, which asked me to reboot. It did it, so it could register certain .ocx files, and identify the fonts.

Windows Millenium (aka 2000) will eliminate a lot of these reboots. You will be able to install a program and continue working.

The big thing to remember, is a install may not affect just the registry. It can affect the system.ini, win.ini, Autoexec.bat, config.sys, etc. These files only get run in the startup sequence.

Hope this helps.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
steinjeAuthor Commented:
What do you mean "register certain .ocx files"?

When a setup.exe program runs does it
copy .dll, .ocx etc to the HD and
register it in the registry?

Why is this done?
0
mark2150Commented:
Yes. A setup will physically copy the OCX/DLL's and also register them. The registry is only read by explorer on startup and therefore it forces a reboot. You can (sometimes) do a registry re-read and skip the reboot. Do this by pressing <Ctrl/Alt/Del> and then END TASK on EXPLORER. You'll get the normal "shutdown window" screen and select [NO]. Then you'll get the "End Task" dialog on Explorer and select [End Task]. Explorer will halt and automatically reload, rereading the registry settings in the process. You'll see your desktop redraw the icons and everything will be ok. Any open apps should still be functioning.

J_powers is right tho, a setup may indeed make changes to things beyond the registry that need a full reboot to take effect. Some installs require a secondary program to run after the reboot to complete their install, reloading Explorer will not help in these situations. The trick for restarting Explorer is handy when you're using REGEDIT to tinker and don't want to go thru the full reboot delays. I wouldn't normally use that trick on a SETUP.

Most SETUP programs will leave an uninstall script in the same directory where they installed the app. This file is called ST5UNST.LOG for VB5 based apps but can have different names. It typically contains the list of what .DLL's were updated, etc. Here is a sample:

 %% PLEASE DO NOT MODIFY OR DELETE THIS FILE! %%
 %% This file contains information about the installation of an application. %%
 %% It will be used to automatically remove all application components from your computer if you choose to do so. %%


NOTE: Beginning of the bootstrapper section

CONFIG: Title: "what2do"

ACTION: TempFile: "C:\WINDOWS\setup1.exe"
(File was not found or was an older version -- new file copied)

ACTION: RegKey: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "SharedDLLs"

ACTION: SharedFile: "C:\WINDOWS\SYSTEM\VB5StKit.dll"
(File currently on disk was already up to date)

ACTION: SystemFile: "C:\WINDOWS\SYSTEM\MSVBVM50.dll"
(File currently on disk was already up to date)

ACTION: SystemFile: "C:\WINDOWS\SYSTEM\StdOle2.tlb"
(File currently on disk was already up to date)

ACTION: SystemFile: "C:\WINDOWS\SYSTEM\OleAut32.dll"
(File currently on disk was already up to date)

ACTION: SystemFile: "C:\WINDOWS\SYSTEM\OlePro32.dll"
(File currently on disk was already up to date)

ACTION: SystemFile: "C:\WINDOWS\SYSTEM\AsycFilt.dll"
(File currently on disk was already up to date)

NOTE: The file 'Ctl3d32.dll' was not copied because it is intended for use under Windows NT 3.51 only.  It is not needed under Windows 95 or NT 4.0.

ACTION: SystemFile: "C:\WINDOWS\SYSTEM\Ctl3d32.dll"
(File currently on disk was already up to date)

ACTION: SystemFile: "C:\WINDOWS\SYSTEM\ComCat.dll"
(File currently on disk was already up to date)

ACTION: DllSelfRegister: "C:\WINDOWS\SYSTEM\MSVBVM50.dll"

ACTION: TLBRegister: "C:\WINDOWS\SYSTEM\StdOle2.tlb"

ACTION: DllSelfRegister: "C:\WINDOWS\SYSTEM\OleAut32.dll"

ACTION: DllSelfRegister: "C:\WINDOWS\SYSTEM\OlePro32.dll"

ACTION: DllSelfRegister: "C:\WINDOWS\SYSTEM\ComCat.dll"

NOTE: End of the bootstrapper section

NOTE: Now spawning the main Setup program 'C:\WINDOWS\setup1.exe'....

ACTION: CreateDir: "C:\Program Files\2150"

ACTION: CreateDir: "C:\Program Files\2150\what2do"

*** ERROR: An error occurred trying to update the Windows registration database.
*** ERROR: (User Responded with 'OK')
*** DURING THIS ACTION: SharedFile: "C:\WINDOWS\SYSTEM\MSCAL.OCX"

ACTION: SharedFile: "C:\WINDOWS\SYSTEM\MSCAL.OCX"
(File currently on disk was already up to date)

ACTION: SharedFile: "C:\WINDOWS\SYSTEM\RICHTX32.OCX"
(File was not found or was an older version -- new file copied)

*** ERROR: An error occurred trying to update the Windows registration database.
*** ERROR: (User Responded with 'OK')
*** DURING THIS ACTION: SystemFile: "C:\WINDOWS\SYSTEM\RichEd32.dll"

ACTION: SystemFile: "C:\WINDOWS\SYSTEM\RichEd32.dll"
(File currently on disk was already up to date)

ACTION: SharedFile: "C:\WINDOWS\SYSTEM\COMDLG32.OCX"
(File currently on disk was already up to date)

ACTION: PrivateFile: "C:\Program Files\2150\what2do\what2do.exe"
(File was not found or was an older version -- new file copied)

ACTION: DllSelfRegister: "C:\WINDOWS\SYSTEM\MSCAL.OCX"

ACTION: DllSelfRegister: "C:\WINDOWS\SYSTEM\RICHTX32.OCX"

ACTION: DllSelfRegister: "C:\WINDOWS\SYSTEM\COMDLG32.OCX"

ACTION: ShellLink: "", "what2do"

ACTION: RegKey: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "App Paths\what2do.exe"

ACTION: RegValue: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\what2do.exe", ""

As you can see you can tell what .DLL's/.OCX's were and were not updated as well as what registry entries were made.

M
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows OS

From novice to tech pro — start learning today.