views:

1188

answers:

1

I have the following problematic scenario:

Problematic Scenrio Description Begin---------------------------

I use msiexec to install a package in quiet mode in the following way:

msiexec /i c:\mypackage.msi /quiet

Now I have the package installed. Let's say I entered the command above again:

msiexec /i c:\mypackage.msi /quiet

Problematic Scenrio Description End---------------------------

Now since the package is already installed, the installation should fail. But I have no indication for that.

I use the log option in order to get a log going:

msiexec /i c:\mypackage.msi /quiet /l* log.txt

When errors occur I do see them in the log but in the scenario depicted above the log is empty. There is also nothing written to the system event log. So my question is, How can I get an indication that the installation (The second one) didn't go?

Notes:

I am not willing to solve this problem by writing a batch script that will check if the package is installed prior to the call to msiexec. The reason is that it contradicts our customer deployment requirements.

I have a DLL custom action data, in the second time, the DLL is not activated so I can't use the DLL in order to write the failure somewhere.

A: 

Is it your package? If so, put in a prerequisite condition that checks if some key file or registry entry doesn't exist yet.

If it's not your package, wrap it in something (another installer or an exe) that will make the check.

DaveE
I בשמ ארט איןד פרקרק/וןדןאק איןמע
I can try this prerequisite thing