Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2126812 | 5.0u5 | William Harnois | P2 | Closed | Fixed | b03 |
The problem is that our installer detects if the system itself needs a
reboot. Even if our installer is not the reason it needs a reboot,
we will ask for a reboot. Say if you installed Itunes, and it asked for
a reboot, and you clicked on NO. Then if you install java, it will ask
for a reboot because there are pending files that need a reboot.
This is all because our msi installer is very complicated with all of
the elevated privileges/unpacking/updating, and this was the only way we
could detect if we need a reboot.
I think there might be a way to improve this if we detect ahead of time if we think we'll need a reboot, rather than detect afterwards if we need a reboot. We would have to check if the following files are locked:
winsystem/java.exe
winsystem/javaw.exe
winsystem/jpicpl32.cpl
Mozilla-family/plugins/np*
If any of these files are locked, we should ask for a reboot.
There is a problem with elevated privileges, which you cannot detect if files in the system directory are locked because you don't have permission. The only way to do this would be to do it with a customaction that is defered in the system context, and therefore you cannot set the variable in the msi table from it.
So I think the only way to do this is to do it in the jre-iftw.exe, and if a reboot is needed, it will pass REBOOT=true to the msiexec.exe.
###@###.### 2005-04-19 22:30:19 GMT
reboot. Even if our installer is not the reason it needs a reboot,
we will ask for a reboot. Say if you installed Itunes, and it asked for
a reboot, and you clicked on NO. Then if you install java, it will ask
for a reboot because there are pending files that need a reboot.
This is all because our msi installer is very complicated with all of
the elevated privileges/unpacking/updating, and this was the only way we
could detect if we need a reboot.
I think there might be a way to improve this if we detect ahead of time if we think we'll need a reboot, rather than detect afterwards if we need a reboot. We would have to check if the following files are locked:
winsystem/java.exe
winsystem/javaw.exe
winsystem/jpicpl32.cpl
Mozilla-family/plugins/np*
If any of these files are locked, we should ask for a reboot.
There is a problem with elevated privileges, which you cannot detect if files in the system directory are locked because you don't have permission. The only way to do this would be to do it with a customaction that is defered in the system context, and therefore you cannot set the variable in the msi table from it.
So I think the only way to do this is to do it in the jre-iftw.exe, and if a reboot is needed, it will pass REBOOT=true to the msiexec.exe.
###@###.### 2005-04-19 22:30:19 GMT
- backported by
-
JDK-2126812 JRE installer asks for reboot more often than it should
- Closed