Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


About AddSoftware directive in INF

Marshall_CaiMarshall_Cai Member Posts: 231

I am testing INF AddSoftware function in my extension driver. My driver can download UWP APP from Windows Store by SoftwareID after driver is installed.

SoftwareType=2
SoftwareID=pfn://Publiser.xxxxxxx_xxxxxx

However if I uninstall the downloaded UWP APP manually, the APP will not be installed again even if I do following things:

  1. Reinstall driver (Uninstall Device & install inf)
  2. Update driver version
  3. Update APP version on Store

Is this normal behavior that the APP will not be installed again after user uninstalls it? Or is there any related information about this limitation? MSDN does not mention about this.

Comments

  • Doron_HolanDoron_Holan Member - All Emails Posts: 10,718
    Removing the driver from the equation for a second, this is normal App Store behavior. The store respects the user’s choice to uninstall the app and will not force a re-install afterwards. The AddSoftware directive just kick starts the first time app install, it does not / cannot change the way the App Store evaluated the app state after the request to install.
    d
  • Marshall_CaiMarshall_Cai Member Posts: 231

    From testing perspective, testers will have to reimage the test machine if verifying the driver again, is that correct?

    One more question regarding to the flags of [DDInstall.Software], the msdn says the if the flags == 1, the AddSoftware process once for each device. Does it mean that each device has one chance to download the app from the app store? Per our testing, it looks that it behaves as same as the situation if flags == 0. What is the exact behaviour if flags is set as 1?

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,403

    From a best practices perspective, reimaging is usually the right path anyway. Have a VM snapshot, and go back to that snapshot.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • Zac_LockardZac_Lockard Member - All Emails Posts: 29

    @Marshall_Cai said:
    From testing perspective, testers will have to reimage the test machine if verifying the driver again, is that correct?

    One more question regarding to the flags of [DDInstall.Software], the msdn says the if the flags == 1, the AddSoftware process once for each device. Does it mean that each device has one chance to download the app from the app store? Per our testing, it looks that it behaves as same as the situation if flags == 0. What is the exact behaviour if flags is set as 1?

    The flag doesn't do much with AddSoftware type 2, it will technically re-evaluate whether it needs to download but won't be necessary any time except initial install. For type 1 it would call the executable for each device instance.

    Also note that after the user has removed the app, it will then show up in their app library so they can re-acquire it if they want, but there is no further automatic-acquisition path.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 January 2023 Live, Online
Developing Minifilters 20 March 2023 Live, Online
Writing WDF Drivers TBD 2023 Live, Online
Internals & Software Drivers 17 April 2023 Live, Online