Hi all,

You may be trying to install a hotfix or update silently, but you keep getting a security warning dialog because the file was downloaded from the Internet. The following article explains this situation: 889815 The Open File - Security Warning dialog box is displayed when you try to silently install a hotfix or an update by using a Visual Basic script in Windows XP Service Pack 2.

Attachment Execution Service (AES) is responsible for this dialog. KB 889815 suggests to use a script to set SEE_MASK_NOZONECHECKS environment variable before installing the hotfix or update. Well, this will work on VBScript, but may not work in other scenarios.

Alternatively you may set that environment variable in a batch job, but it may not help in your scenario either.

Are we out of luck then? Well, not necessarily. Keep reading.

Run the following command on the file you downloaded from the Internet which contains the patch you want to install:

notepad patch.exe:Zone.Identifier

This will show us the Zone.Identifier Alternate Data Stream (ADS) of our file. We will see the following contents:

[ZoneTransfer]
ZoneId=3

Value 3 means that the file was downloaded from the Internet and it's potentially unsafe. This makes the warning dialog to appear. We may edit ZoneId value to make the warning disappear. A value of i.e. 2 may work in your environemnt. Change the value, save the ADS file and try installing the patch again.

This is a very good post to understand how Attachment Execution Service (AES) works and the effects of changing the ZoneId value: Demo of "Attachment Execution Service internals" in Windows XP SP2 and Windows Server 2003 SP1.

This is a list of some possible values we can use as ZoneId:

How Windows Knows that a File Is from the Internet: Manipulating Alternate Data Streams

NoZone = -1
MyComputer = 0
Intranet = 1
Trusted = 2
Internet = 3
Untrusted = 4

A value of 6 may work for us, too. This value should be the same as resetting the checkbox "don't ask again" in the warning dialog.

I hope this helps.

Cheers,

 

Alex (Alejandro Campos Magencio)