Finding Number of Disabled Extensions in VS Code - api

vscode.extension.all displays the number of extensions installed in the machine. Is there any way to find out the number or list of extensions that have been disabled?

Related

IE11 compatible addon

I have to write an IE11 addon and I found some good sources for start but I always got stuck in the compatibile issue. Turning off of EPM is not allowed and we tried to enabled our prototype addon in GP (Using the CLSID and Administrative Templates to manage group policy objects) but the situation is the same.
I would like to know how I can write a compatible addon because I found nothing about it. What makes an addon compatible?
Which version is your addon is? 32-bit or 64-bit? EPM only allows 64-bit addons to run, so you need to generate a 64-bit version of addon if you want to use it in EPM. For more information, you can refer to this thread.
Besides, Enhanced Protected Mode isolates untrusted web content in a restricted environment that's known as an AppContainer. This process limits how much access malware, spyware, or other potentially harmful code has to your system. So you need to place your addon's DLL with an AppContainer-readable folder (e.g. a subfolder of the \Program Files\ folder). For more information, you can refer to this thread and this doc.

Install file with the same name on different OS's

I have a question about the rules organizing resources into components.
What I want to do is the following; There are two files (both 64bit) with the same filename but in different source locations and with different component GUID's;
C:\data\win7\driver.sys
C:\data\win10\driver.sys
I want both included in the installer and when the installer runs decide depending on the OS which of these two files will be installed in the same location:
C:\Program Files\MyProgram\driver.sys
Is this a violation of the rules regarding the components? (the main one applying would be the first one I would say:)
"Never create two components that install a resource under the same name and target location. If a resource must be duplicated in multiple components, change its name or target location in each component. This rule should be applied across applications, products, product versions, and companies."
https://learn.microsoft.com/en-us/windows/desktop/Msi/organizing-applications-into-components
Actual Answer: Yes, installing different files to the same absolute path is indeed a violation of the MSI component rules - in
theory. As you have discovered reading the documentation. However,
seeing as only one file will make it onto the box, it is all semantics
really, there will never be two files installed. Still, the MSI will
probably not validate - you will see validation errors.
I am not sure of the technical implications, but could you make the
file name different based on OS? Then you simply put the files in
separate components and use different component GUIDs and condition
the component for installation or not. Full compliance instantly.
With all that said, it seems driver files are to be installed using
INF-files in standalone packages in the future. Please read below.
Component Rules, Pragmatically: This is a well-known problem indeed. I have this old answer that might be helpful: Change my component GUID in wix? It describes how the component rules work in practice, and how the idea is that you reference count an absolute path, and not a file per-se. Please read it to make it clearer. More links in this answer.
Driver Installation: We are supposed to know how to do this, but the rules keep changing (and another answer). Essentially drivers are to be distributed via Windows Update, or at least via a standalone package without the need for an installer in the future (until Microsoft change their mind again?). Windows Hardware Dev Center dashboard. As far as I understand the installation is INF-based (as before).
Question: Are you sure about that installation location? What does the documentation say? I thought sys files should go primarily to the Windows folder? Or the WinSxS folders (side-by-side win32 assemblies). As you understand driver installations confuse us all.
Windows 10 Detection: It appears to be a challenge to detect Windows 10 due to the new "evergreen versionlessness" of Microsoft. I have this old answer written up to summarize my current understanding of it: Windows 10 not detecting on installshield. Deployment tools such as Advanced Installer does the job for you and detects Windows 10 with simple measures. Not sure what Installshield does. The linked answer lists a few approaches to detect the version yourself - not sure which is the saner approach. Please read (and also please report any interesting findings when you have a successful package).

How to detect installed versions of DirectX

Im developing an application that would detect the DirectX versions installed on my system. For example if DirectX 9 and DirectX 11 are installed on my system then my program must detect these installations and display the installed versions. But I've no idea on how to accomplish this
EDIT:
I dont want to use dxdiag UI to detect the versions, I want my program to detect the versions. And all installed versions must be detected not just the one that is pre-installed with the OS or the highest level supported by the OS
You'll most likely not be able to list all installed DirectX versions. I came across this interesting article in the support pages of the gaming platform called Steam:
Trying to manually check for the correct versions is extremely complicated because there are numerous files that must all be present and individual system configuration options like dll search paths complicate the situation. In addition, the dependencies and required checks may change in each new version of the D3DX runtime.
As mentioned by Hans Passant you can get the highest installed version by running dxdiag /x <output file> to generate an XML file containing various entries of your computer information, then parse or deserialize that file in your application.

Updating extensions in a XULRunner application

Is it possible for extensions in XUL application to auto update to newer version when app starts? I'm trying to figure this out. If this is possible I would be very grateful if someone would point me to good documentation about this, because I can't find any good articles about this subject on the Internet.
XULRunner has the same extension update mechanism built in as Firefox - it will look for extension updates once daily when the application is running. If it finds an update then it will update restartless extensions immediately, other extensions are downloaded and updated on next application start. You have to make sure that the following preferences are defined for your application (copied from Firefox preferences):
pref("extensions.update.autoUpdateDefault", true);
pref("extensions.update.enabled", true);
pref("extensions.update.interval", 86400);
pref("extensions.update.url", "...");
pref("extensions.update.background.url", "...");
The tricky part are the update URLs. Of course you can use the same URLs as Firefox:
https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%
https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%
This will work fine for extensions available on addons.mozilla.org. However, I suspect that the extensions for your application will not be available there. Then you have two options. You can enter some dummy URL here like data:text/xml,<nada/> to keep the add-on manager quiet and make sure that all extensions have a custom updateURL. Or you can run your own update server that will produce update manifests for all known extensions (basically what addons.mozilla.org is doing).

How to detect Media Services are installed on Windows server 2003?

I've been trying to find some information on this. So far I've been using the version Key presence to do it, is there a better way ?
What's installed on a box is noted in several places, none of which reports everything, so you'll have to look at each to find where Media services install info is.
WMI classes:
Win32_ApplicationService
Win32_QuickFixEngineering
Win32_SoftwareFeature
Also MsPIDinfo:
http://www.mombu.com/microsoft/scripting-jscript/t-microsoft-programs-ids-277777.html
And, interestingly, uninstall info in the Registry at subkeys below:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall