locked
CoInstaller callback DIF_FINISHINSTALL_ACTION not working in Win8 Build 8148 RRS feed

  • Question

  • In the CoInstaller callback DIF_NEWDEVICEWIZARD_FINISHINSTALL, I setup to receive the callback DIF_FINISHINSTALL_ACTION by adding the Device flag DI_FLAGSEX_FINISHINSTALL_ACTION. However, I dont get the callback DIF_FINISHINSTALL_ACTION.

    This works fine in Win7 but is not working in Win8. Has something changed?

    Thanks,
    Jerome

    Friday, November 18, 2011 12:25 AM

Answers

  • Finish install actions have never been guaranteed to run automatically as part of device installation.  For example, they need to be run in an administrator context. If an administrator was not logged in at the console and a limited user plugged in a device that used a driver with a finish install action, the finish install action would not have been run at the time of device installation.  It would be run at some later point when an administrator was logged in at the console.  If an administrator never logged in, the finish install action would never run. 

    With Windows 8, finish install actions are never run automatically.  An administrator (or a limited user that can provide administrator credentials to a UAC prompt) has to go to Action Center and address the ‘Finish installing device software’ maintenance item in order for the finish install action to be run. 

    With regards to installing supporting software that should accompany a driver, it can still be done through a finish install action, but it will not be installed automatically.  It now requires the user to initiate it by running any finish install actions from Action Center.  Alternatively, depending on your scenario, you may be able to make use of the new device app model for Windows 8.  More information about device apps can be found at http://msdn.microsoft.com/library/windows/hardware/br259114 under the "Design Great Hardware Experiences" section.

    Thursday, September 27, 2012 4:51 PM

All replies

  • I am seeing the exact same thing with Windows 8 RTM, build 9200. I don't receive the DIF_FINISHINSTALL_ACTION code, even though I setup device install parameters using DI_FLAGSEX_FINISHINSTALL_ACTION flag.

    I noticed that in http://msdn.microsoft.com/en-us/library/windows/hardware/ff543684(v=vs.85).aspx DIF_FINISHINSTALL_ACTION is documented as "Supported in Windows Vista through Windows 7" (so, Windows 8 is not mentioned), also http://msdn.microsoft.com/en-us/library/windows/hardware/ff552346(v=vs.85).aspx does not list DI_FLAGSEX_FINISHINSTALL_ACTION as one of the possible values for FlagsEx.

    However, they are both still present in Windows 8 SDK; SetupApi.h header still has them.

    Is this functionality obsolete in Windows 8? If so, what is the recommended way of performing an action in client context as part of the driver install, for example to install a supporting software that should accompany a driver?

    Thanks,
    Michal


    Michal Lukaszek

    Tuesday, September 25, 2012 11:10 AM
  • Finish install actions have never been guaranteed to run automatically as part of device installation.  For example, they need to be run in an administrator context. If an administrator was not logged in at the console and a limited user plugged in a device that used a driver with a finish install action, the finish install action would not have been run at the time of device installation.  It would be run at some later point when an administrator was logged in at the console.  If an administrator never logged in, the finish install action would never run. 

    With Windows 8, finish install actions are never run automatically.  An administrator (or a limited user that can provide administrator credentials to a UAC prompt) has to go to Action Center and address the ‘Finish installing device software’ maintenance item in order for the finish install action to be run. 

    With regards to installing supporting software that should accompany a driver, it can still be done through a finish install action, but it will not be installed automatically.  It now requires the user to initiate it by running any finish install actions from Action Center.  Alternatively, depending on your scenario, you may be able to make use of the new device app model for Windows 8.  More information about device apps can be found at http://msdn.microsoft.com/library/windows/hardware/br259114 under the "Design Great Hardware Experiences" section.

    Thursday, September 27, 2012 4:51 PM