MSI Install deletes contents of C:\WinNT\Installer

  • Thread starter Thread starter robert
  • Start date Start date
R

robert

Whenever I install an MSI based product I loose my file associations
for Office and the icons for the office products in Quick launch and
the Start Menu.


The installation I performed was the manual install for JRE, which
uses an MSI to perform its install.


What I discovered is once the MSI portion of the install commences the
contents of the C:\WINNT\Installer directory is completely wiped
clean. This does not just occur with the JRE install, it occurs with
many MSI based installations.


Why does this occur? Does anyone have any idea what is happening?


What I need to do is somehow fix the corruption or whatever it is that
is causing this to happen. I do not believe that this is normal.
Cheers
Robert
 
You're right in that it's not normal. There are some provisions in MSI for
detecting corrupt or insecure configuration data. On startup of the Windows
Installer service, it will evaluate its configuration data locations. If it
finds something amiss, the Installer service will completely remove that
location so that it can properly regenerate it in a secure manner. That's not to
say that this is the cause of the behavior you're seeing. However, it's one
possibility.

First thing I'd check: What are the ACLs on the c:\winnt\installer folder? You
can use cacls.exe found in the %windir%\system32 folder to find out. From a cmd
prompt, type: cacls.exe c:\winnt\installer and then report the output.

The normal expectation would be something along these lines:
C:\WINDOWS\system32>cacls.exe c:\windows\installer
c:\windows\Installer NT AUTHORITY\SYSTEM:(OI)(CI)F
Everyone:(OI)(CI)R
BUILTIN\Administrators:(OI)(CI)F


- Carolyn Napier
Microsoft Windows Installer Team

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.

MSI FAQ:
<http://www.microsoft.com/windows2000/community/centers/management/msi_faq.mspx>
 
Thankyou Carolyn

For once I have had a helpfull response.

I have already checked the ACL's and they seemed correct at the time.
But I think I will check them again.

My client initially assumed that there was something wrong with the MSI
package they were installing but I assured them that this was not the
case.

I can only assume that somewhere in time, more than likely when they
created their SOE that Windows Installer or Application installation
information in the registry or elsewhere has become corrupt. And this
is what is causing the problem.

Do you know of any way to fix this other than re-intalling their core
applications?

To fix the problem I have perfoemed a band aid approach. I copy all
the contents of the Installer directory to a temp location, perform the
MSI install, then copy back the Installer contents from the temp
location. This seems to get around the issue but I don't like it.
Thanks again for the reply
Cheers Robert
 
I agree that your work-around is not the desired approach for addressing this.
But at least it allows some investigation of the problem w/out completely hosing
the machine state. We haven't ruled out the installation package as the culprit
just yet, but I'd agree that this is not the most likely cause.

I'd like to see if we can determine the actual cause of this problem, since it's
unusual for the entire %windi%\Installer folder to be completely deleted during
an installation. My experience with this is that it only happens when ACLs are
altered. The Windows Installer has two primary configuration data locations:
registry & file system (%windir%\Installer). On start up of the service, it
will check the security of the locations.

Here's the first suggestion:
1) cmd prompt: kill -f msiexec.exe
2) make sure the %windir%\Installer folder is at the normal state (your backup
collection)
3) cmd prompt: net start msiserver

After starting the service, is the Installer folder still in tact?

Second suggestion:
One other aspect that is interesting is whether or not this deletion only occurs
when you install this package. Is that true? If you install some other simple
MSI package (maybe something that only installs a text file), does the same
thing happen. I'd try out the scenario making the backup again first, and then
running through the installation.

The other suggestions I'd have are:

1) Definitely re-verify the ACLs using cacls.exe.
2) Set the Windows Installer logging and debug policies in the registry:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"Debug"=dword:00000007
"Logging"="voicewarmup"
3) Obtain the following tools from http://www.sysinternals.com:
(http://www.sysinternals.com/ntw2k/utilities.shtml)
DebugView + FileMon
4) Ensure that the installer service isn't started (net stop msiserver from a
cmd prompt) and that the %windir%\Installer folder is in tact via what you
usually back up
5) Start up debugview and filemon (filemon need only filter on the
%windir%\Installer folder)

I'm hoping that #5 will give us some insight from the Installer as to what it's
doing (via the logging and debug policies) and from filemon as to which process
is responsible for deleting the files and folder. If you're running debugview
with the Debug + Logging policies set, the Installer service will log to debug
output if it detects an insecure configuration data location. That's something
to look for.

Let me know what you find out...

Hope this helps,
- Carolyn Napier
Microsoft Windows Installer Team

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.

MSI FAQ:
<http://www.microsoft.com/windows2000/community/centers/management/msi_faq.mspx>
 
Back
Top