cancel
Showing results for 
Search instead for 
Did you mean: 
Barbara
Pilgrim

Display MsiRMFilesInUse on Windows Vista during minor upgrade

I authored my installation to contain the MsiRMFilesInUse dialog. I made a basic installation, started the installed application and then used the minor upgrade package to install a newer version. I suspected to see the MsiRMFilesInUse dialog under Windows Vista because the main application file was held in use. Instead of this the dialog SetupError with a text like "Setup has detected that some files are in use ..." shows up. In the setup log, I can see the following entry:
RESTART MANAGER: Did detect that a critical application holds files in use, so a reboot wioll be necessry.
I thought as a reason of this the MsiRMFilesInUse dialog should be displayed, but in fact the SetupError dialog is displayed. Any idea what went wrong ?

Barbara
Labels (1)
0 Kudos
3 Replies
Flexera MichaelU
Flexera

Re: Display MsiRMFilesInUse on Windows Vista during minor upgrade

I'm not familiar with this message, so here are a couple questions. Does the minor upgrade succeed (with or without reboot) if you aren't running your application? Do you actually update a file that is being held in use (has your exe or one of its core dll files had its version increased and built into the minor ugprade)? What sort of setup error are you seeing, and what are the log lines related to it (I wouldn't expect any errors for a required reboot)?
0 Kudos
Barbara
Pilgrim

Minor update is working

The minor update is working correctly when no files are held in use. The files in the minor update have higher version numbers compared to the ones installed. Here is the part of the MSI - Log

[CODE]MSI (s) (58:90) [14:42:27:205]: PROPERTY CHANGE: Modifying CostingComplete property. Its current value is '0'. Its new value: '1'.
MSI (s) (58:90) [14:42:27:205]: Note: 1: 2205 2: 3: BindImage
MSI (s) (58:90) [14:42:27:205]: Note: 1: 2205 2: 3: PublishComponent
MSI (s) (58:90) [14:42:27:205]: Note: 1: 2205 2: 3: SelfReg
MSI (s) (58:90) [14:42:27:205]: Note: 1: 2262 2: Extension 3: -2147287038
MSI (s) (58:90) [14:42:27:205]: Note: 1: 2205 2: 3: Font
MSI (s) (58:90) [14:42:27:205]: Note: 1: 2727 2:
MSI (s) (58:90) [14:42:27:315]: RESTART MANAGER: Did detect that a critical application holds file in use, so a reboot will be necessary.
MSI (s) (58:90) [14:42:27:315]: Note: 1: 1610
Information 2835. The control ErrorIcon was not found on dialog SetupError.
Setup muss Dateien oder Dienste aktualisieren, die nicht während der Ausführung des Systems aktualisiert werden können. Wenn Sie den Vorgang fortsetzen, ist ein Neustart erforderlich, um das Setup abzuschließen.
MSI (s) (58:3C) [14:42:58:580]: I/O on thread 692 could not be cancelled. Error: 1168
MSI (s) (58:3C) [14:42:58:580]: I/O on thread 3464 could not be cancelled. Error: 1168
MSI (s) (58:3C) [14:42:58:580]: I/O on thread 1864 could not be cancelled. Error: 1168
MSI (s) (58:3C) [14:42:58:580]: I/O on thread 1936 could not be cancelled. Error: 1168
Aktion beendet um 14:42:58: InstallValidate. Rückgabewert 2.
Aktion beendet um 14:42:58: INSTALL. Rückgabewert 2.[/CODE]

I think the installer is detecting correctly the files in use, what I am wondering about is, that not the MsiRMFilesInUse dialog is displayed but the SetupError dialog. I would expect this behaviour if there were no userinterface used, then this message should be written into the MSI-log and followed by a reboot. With userinterface I would expect the MsiRMFilesInUse dialog to show up.

Barbara
0 Kudos
Barbara
Pilgrim

MsiRMFilesInUse is displayed during uninstall

Things are getting a little bit more confusing. As another test I started the application and then removed the software with the software manager. The MsiRMFilesInUsed dialog is now displayed, but with an empty box, so no application is listed. If I nevertheless press the "Close the application" button, my application is closed and successfuly removed.

Maybe the reason for this behaviour could be,that the installed application is not registerd with RegisterApplicationRestart().

Barbara
0 Kudos