Maybe there is another way to accomplish this, but one thing I use software inventory for in SCCM is for device collections based on what applications a device has installed. I then leverage these collections to mandate updates for said applications even though those applications may not be installed on all devices in the company.
I.e.
App X is optionally available to users in a certain group. They can go into Company Portal/Software Centre to install this if they so choose.
Then, any device that has App X installed gets added to a collection of devices with that app installed (detected via software inventory). This collection has App X deployed (Required). Particularly, new versions of App X I publish are deployed as required to this software inventory based collection.
This achieves the behaviour of users being able to Opt-In to have App X installed on their device, but that app is kept up to date across every devices which has it, therefore meeting our security requirements.
With Intune you can have Requirements set on the app, i.e. a requirement that Appx.exe is detected. But then you would need two apps, one with the requirement and one without it. The one without requirements would be Assigned as Available to a group of eligible users/devices to install via company portal, and the second app with the requirements would be assigned to a device group of every device that could theoretically have the app installed.
There might be another technique/feature I could leverage to achieve this behaviour, if there is I apologise