Detecting if the Opera Browser is installed using MFC - mfc

I have written some code which reads the registry to find out which browsers are installed. It gets the browser name and path.
I know that it does not include Microsoft Edge yet. But my question concerns Opera. For some reason it is not listed.
The registry key is:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Clients\StartMenuInternet
My PC has the following listed:
So:
How do we find out if the Opera Browser is installed?
How do we find out what the path is to the Opera Browser?

You must also read HKEY_CURRENT_USER\Software\Clients\StartMenuInternet
(see How to Register an Internet Browser...)

Simple:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\opera.exe

Related

Outlook: VSTO does not show its initial window

I had developed a VSTO module to Outlook using VB.NET and VS2017-Community.
At the first installation, it asked for an user authorization to install, showing the Product name and the Vendor/Manufacturer data, based on the ClickOnce compilation (I guess).
Everything rans ok...
But now I uninstalled completely this AddIn and, when I call the SETUP again (due to a newer version), the Outlook does not show this window anymore - the Ribbon is updated automatically, my custom ribbon appears, etc.
In other words: my new version is installed into Outlook seemless and runs perfectly; except for the fact of the VSTO window does not appear anymore during the Outlook load (which would be like I saw before at the 1.0.0 version of my software).
I would like to see a CLEAN installation, I mean, exactly what a user which had never installed my software would see.
Some data to enlight the problem:
1- I'm using MSI installation and uninstall. Everything runs 100%.
2- The uninstall clears all the registry keys and the application folder.
3- I saw %User%/AppData/Local/Apps/2.0 folder and, also, there are no references to my project.
4- I open REGEDIT and check the following keys. All of them are cleared (no references to my AddIn):
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Outlook\Resiliency\AddinList
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins\
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\1x.0\Outlook\Resiliency\DisabledItems
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\1x.0\Outlook\Resiliency\CrashingAddinList
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\1x.0\Outlook\Resiliency\DoNotDisableAddinList
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\1x.0\Outlook\Resiliency\NotificationReminderAddinData
(there are no Local_Machine key created here, my Office is 32-bit not running as Admin/Local_Machine).
So, how can I make a clean installation like I saw before?
I appreciate any help.
I found the solution!
We must clean the references also in:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\1x.0\Outlook\AddInLoadTimes
HKEY_CURRENT_USER\SOFTWARE\Microsoft\VSTO\SolutionMetadata
HKEY_CURRENT_USER\SOFTWARE\Microsoft\VSTO\Security\Inclusion (keys and subkeys)
That's it! :)

GitHub markdown bullets not displaying in Chrome

I created a README.md github markdown file for the syllabus for the class for which I am using a github repo (https://github.com/rickecon/OGcourse_F16) as our central file and communications interaction hub. The bullets in the list structures throughout the README.md are not displaying in the Chrome browser, but they are displaying in Safari. Any ideas how to fix this, or is it an incompatibility between Chrome and GitHub markdown? My operating system is Mac OS X 10.11.6.
The bullets are working fine for me on all my computers, all using Chrome. I suspect the problem might be caused by some extension you have installed in Chrome, messing with the style of the website or similiar. You can test this by either disabling all your extensions by going to chrome://extensions/ and unchecking ´Enable´ for all your extensions, or by going into ingocnito (press Ctrl + Shift + N) and go to your repo from there. The Incognito approach will of course only work if you haven't also enabled the extension in Incognito, but it's generally a quick and easy way to test a website without your extensions.
If the bullets now work, try to turn your extensions on one by one to determine which of them cause the problem.

Installing iCloud on XP PC

I'm trying to install iCloud on my Windows XP Pro (SP3) PC. Officially it's supported only for Vista and later, but this hack is widely claimed to work:
Open iCloudSetup.exe file and unzip its files including
Navigate to and open the iCloud.msi with Orca.
In the left table select LaunchCondition. Then change in the right table “VersionNT> = 600” to “VersionNT> = 200” and Save.
Run modified iCloud.msi and install.
Run iCloud Control Panel, located in the Windows Control Panel, and set up as you want.
I tried that promising solution in vain. It seemed to successfully install iCloud, but whenever I try to run it I get
this obscure error
After much fruitless searching I've not found out how to proceed from there and would appreciate advice please.
That trick worked with only the firs versions of iCloud Panel, the v1.0.
For the v2.1 doing the trick the installer ran ok, but when trying to run the iCloud Panel it showed the error you're refering to.
I had some computers running with that older version without any problem.
Try downloading the v1.0 version here:
http://icloud-control-panel-for-windows.uptodown.com/descargar/22412
If you want to try the trick with the v2.1 you have the installer here:
http://icloud-control-panel-for-windows.uptodown.com/
Remember you need to extract the MSI from the exe to do the trick. After running the exe check the %TEMP% folder to get the MSI file.

How can I install Qt onto another computer but in different directories?

I used the online download of Qt to install it on my desktop but now I also want it on my laptop and I am unsure of how I can do that without having to re-download. My internet connection is crap and I don't even know if the Laptop will allow me to considering that it is one issued by my school and not all downloads work. Please help! I tried copying all the files over to the laptop but now all the settings are weird because the computer I am using doesnt have (or allow access) to the C drive.
I've looked at where does an installed version of Qt store the paths.
It seems that you need to change the following:
Qt5.2.1/5.2.1/[compiler]/mkspecs/modules/qt_lib_[module].pri
In each of those files, change the line that begins with QT.[module].rpath.

Programmatically detect if Windows Media Player is installed

Anybody have any advice on how to programmatically detect if Windows Media Player is installed?
I know about the registry setting look up, but don't trust it since it's more than a little misleading (uninstalled may not remove it). And I've considered just launching a video, but an error could be caused by something other than Media Player not being installed, so it's not conclusive either.
Ideally, I'd prefer a solution which could be used from both my C++ application AND my NSIS installer. But my the C++ app is the most important, I'm willing to live with the registry hack in the installer.
Look at the IsInstalled value under key HKLM\Software\Microsoft\Active Setup\Installed Components\{22d6f312-b0f6-11d0-94ab-0080c74c7e95}. It is 1 if installed, 0 otherwise.
See Detecting Windows Media Player from an Application.
(You don't say whether you're checking for an embeddable (i.e. OCX) player to embed in your app or the EXE to launch extenally from your app.)
How about checking the HRESULT on CoCreateInstance against CLSID {22d6f312-b0f6-11d0-94ab-0080c74c7e95} / ProgID "MediaPlayer.MediaPlayer.1" in your app? (CLSIDs from http://technet.microsoft.com/en-us/library/bb676121.aspx)
In your installer just check for HKEY_CLASSES_ROOT\CLSID{22D6F312-B0F6-11D0-94AB-0080C74C7E95}, and perhaps also that the path at the InprocServer32 subkey exists.
If the uninstall fails to remove both the EXE and the registry entry then I highly doubt it uninstalled anything...
So, I would suggest you check the registry under HKLM\Software\Microsoft\MediaPlayer\ and if it exists, grab the value of the Installation Directory or Installation DirectoryLFN (default is %ProgramFiles%\Windows Media Player) and check that wmplayer.exe exists within that directory. If it does, then you will know that WMP is installed.