Video Screencast Help

Message: The system must be restarted to complete the installation.

Created: 08 Jan 2013 • Updated: 10 Jan 2013 | 10 comments
This issue has been solved. See solution.

Good Afternoon,

I am creating installation package for my program to be installed to users machines.

Everything works properly, but at the end it shows message requesting users to restart machine.

It does not make my users happy. We are using Wise Installation System 9.02, I tried to set it in silent mode, and check No Reboot Message During Silent Installs, but doesn’t looks like it is working.

And yes, I tryed Set Variable RESTART to nothing, doesnt work as well.

Install

This system must be restarted to complete the installation.

Click the Ok button to restart this computer.

Press Cancel to return to Windows without restarting.

Is there any way I can supress that message?

What am I missing?

Thank you.

Comments 10 CommentsJump to latest comment

andykn101's picture

If it's an msi, have you tried REBOOT=ReallySuppress in the command line?

Authorised Symantec Consultant (ASC) with Endpoint Management Limited, an Authorised Symantec Delivery Provider based in the UK.

Connect Etiquette: Please "Mark as Solution" posts that fix your problem.

EdT's picture

@Andy

The O/P states he is using Wise Installation System 9.02, therefore this is a wisescript and not an MSI so setting a property on the command line will achieve nothing.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

AngelD's picture

And yes, I tryed Set Variable RESTART to nothing, doesnt work as well.

Did you "blank out" the RESTART variable at the end of the installation?

 

EdT's picture

Just for absolute clarity, to avoid any restart messages being generated by the Wisescript, you need to use the command "Set Variable" as the last line of your code, with the variable set to RESTART and the value field left empty.

This will avoid any Wisescript installed content from generating restart messages, but WILL NOT avoid any third party programs installed by your Wisescript from generating their own restart messages. If you are using the wisescript as a container or wrapper for other installs, you would need to ensure that none of these installs generate a restart message either.

If you need more help with this, then we need to know a lot more detail about what your wisescript is doing.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

SOLUTION
it0866's picture

Thank you everybody.

It is actually first time I am working with Wise(or any installer), so please forgive me for obvious questions. I have Set Variable RESTART to at the end of the script in Installation Script window. Is it correct place? Or should I put it somewhere else? Do I have to declare that Restart variable anywhere else? Should it be declared as Compiler Variable as well?

Yes, it is installing list of other programs, but all of them is our custom dll and exe. Thank you for the idea, I will check everything we add to the package.

Thank you again.

it0866's picture

Thanks everybody,

EdT was right, Set Variable RESTART actually worked. Massage still comming from other file included to the project.

 

EdT's picture

If your installation needs to replace a DLL file that is currently "in use", then the operating system uses a built in process which involves placing the new file in a temp location, then instructing the operating system to replace the locked file at the next reboot using a registry key called "PendingFileRenameOperations" located under HKLM\System\CurrentControlSet\Control somewhere. The key only exists when set for this type of operation and is then deleted when the file replace occurs. It is of type REG_MULTI_SZ.

You can check for this key in your installation to see if it gets set - which indicates that a reboot IS required for reliable operation.

If you do face this issue, the simplest solution is to check the task list and if the task which loads the DLL is running, you can run code to kill this task, which will release the DLL and allow it to be replaced (in most cases).  Of course, if the user happens to be running the task that you are about to kill, this may also cause some irritation.;-)

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

it0866's picture

Is there any way to kill all dlls at once that need to be installed? Or it is has to be done one by one?

And I will deal with users when they start to complain = ), I do not unticipate it will happen very often.

Thank you.

EdT's picture

You cannot just kill the DLL's - DLLs are loaded by the processes that need them, so you need to close the processes which in turn will release the DLL files. If you want to kill all the DLLs at once, force a reboot!!

 

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.