Why do different controls need to be shown? The implementation has unified the 
callbacks such that it should not matter:

    // OnExecuteFilesInUse - called when the engine encounters files in use 
while
    //                       executing a package.
    //
    // Return:
    //  IDOK instructs the engine to let the Restart Manager attempt to close 
the
    //       applications to avoid a restart.
    //
    //  IDCANCEL instructs the engine to abort the execution and start rollback.
    //
    //  IDIGNORE instructs the engine to ignore the running applications. A 
restart will be
    //           required.
    //
    //  IDRETRY instructs the engine to check if the applications are still 
running again.
    //
    //  IDNOACTION is equivalent to ignoring the running applications. A 
restart will be
    //             required.

IIRC, the retry is a little interesting because it will cause the Windows 
Installer to switch between FilesInUse and RMFilesInUse which detect things 
differently (some better than others).

_______________________________________________________________
FireGiant  |  Dedicated support for the WiX toolset  |  
http://www.firegiant.com/

From: Georg von Kries [mailto:g...@creativbox.net]
Sent: Thursday, April 24, 2014 2:02 AM
To: wix-devs@lists.sourceforge.net
Subject: [WiX-devs] Feature #4382: Add support for "files in use" in WixStdBA

Hi all,

I'm currently in the process of porting our implementation of an "files in use" 
page in WixStdBA from Wix 3.7 (with some custom changes) to the current version.

Our implementation is currently designed for MSI packages only and resembles 
MSIs FileInUse and MsiRMFilesInUse dialogs. It combines them together to a 
single additional page in the WixStdBA. This page is displayed like a modal 
dialog, i.e. it implements an inner message loop to wait for the user input.

The problem is that the bootstrapper application needs to show different 
controls and return different results whether restart manager is enabled or 
not. Currently it is impossible to distinguish between 
INSTALLMESSAGE_FILESINUSE and INSTALLMESSAGE_RMFILESINUSE in 
OnExecuteFilesInUse(). Burn calls OnExecuteFilesInUse() for both MSI installer 
messages without any possibility to determine the original message.
For our own build we have altered the engine to pass the 
INSTALLMESSAGE_RMFILESINUSE to OnExecuteMsiMessage() instead of 
OnExecuteFilesInUse(). Otherwise changes to the IBootstrapperApplication 
interface are required.

Any comments on how to solve this?

Thanks,
Georg



------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to