Environment
Novell ZENworks 10 Configuration Management System Update
Situation
The ZCM 10.x agent upgrade fails to upgrade .dll files to the new version when a Mount Point is being used for the %ZENWORKS_HOME% folder. This failure to update certain files causes various agent problems such as:
- The agent will not connect to the ZCM server.
- Agent appears to refresh indefinitely.
- Bundles\Policies not showing up under the Z-icon correctly.
- Novell ZENworks Agent Service randomly fails.
Resolution
A Mount Point for the %ZENWORKS_HOME% folder is not supported, because of Microsoft API limitations
Copying the data locally and resetting the folder permissions fixes the issue for the next upgrade.
http://support.microsoft.com/kb/948601 - Link to MS KB
Copying the data locally and resetting the folder permissions fixes the issue for the next upgrade.
http://support.microsoft.com/kb/948601 - Link to MS KB
Additional Information
%ZENworks_HOME%\logs\system‑update\<guid>\system-update.log will not show any errors.
The MSI specific log(in this case novell-zenworks-primary-agent-10.2.1.msi.log) shows -1603 error. These errors mean that certain files that needed to be replaced during the upgrade were in use (_LOCKED). The files in this state are scheduled for replacement on the next reboot by Msiexec.exe using the MOVEFILE_DELAY_UNTIL_REBOOT API. Msiexec calls the session manager (Smss.exe) to process the PendingFileRenameOperations value. This value is in the registry at HKEY_LOCAL_MACHINE\SYSTEM_CurrentControlSet\Control\Session Manager\PendingFileRenameOperations and will contain the list of files that are scheduled to be replaced.


Msiexec uses the standard MOVEFILEEX Windows API which calls MOVEFILE_DELAY_UNTIL_REBOOT. This API requires a dwFlags to be set and this value cannot be set if Mount Points are being used.
http://msdn.microsoft.com/en-us/library/aa365240%28VS.85%29.aspx - API documentation
http://support.microsoft.com/kb/948601 - MS KB Link
Note: This problem will not occur on a new install, only an upgrade where a file might already be in use.
The MSI specific log(in this case novell-zenworks-primary-agent-10.2.1.msi.log) shows -1603 error. These errors mean that certain files that needed to be replaced during the upgrade were in use (_LOCKED). The files in this state are scheduled for replacement on the next reboot by Msiexec.exe using the MOVEFILE_DELAY_UNTIL_REBOOT API. Msiexec calls the session manager (Smss.exe) to process the PendingFileRenameOperations value. This value is in the registry at HKEY_LOCAL_MACHINE\SYSTEM_CurrentControlSet\Control\Session Manager\PendingFileRenameOperations and will contain the list of files that are scheduled to be replaced.


Msiexec uses the standard MOVEFILEEX Windows API which calls MOVEFILE_DELAY_UNTIL_REBOOT. This API requires a dwFlags to be set and this value cannot be set if Mount Points are being used.
http://msdn.microsoft.com/en-us/library/aa365240%28VS.85%29.aspx - API documentation
http://support.microsoft.com/kb/948601 - MS KB Link
Note: This problem will not occur on a new install, only an upgrade where a file might already be in use.