InnoSetup - How to detect if MySQL Workbench is installed? - mysql-workbench

I'm creating an installer for modeling software, and we encourage our users to install MySQL Workbench to access model output. However, because the MySQL installation process isn't exactly straight forward, many users end up only installing MySQL Server and fail to install MySQL Workbench. How can I detect during my installation process if MySQL Workbench is installed?
On my development machine, there is a registry entry at HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB\MySQL Workbench 6.3 CE\Location. I could check to make sure that path exists, but this approach requires MySQL registry keys to be up-to-date (I've been burned relying on this approach trying to detect MySQL Server) and it is version specific.
If it turns out that this is the best option, are there other registry paths that I would need to check?
Am I safe checking MySQL Workbench 6.2 CE, MySQL Workbench 6.3 CE, MySQL Workbench 6.4 CE, etc, or are there other versions out there (e.g. non-"Community Edition")? This isn't apparent to me after spending some time on Workbench's website.
More information:
Since MySQL updates their package much more frequently than we update ours, we are hesitant to bundle a version of the MySQL MSI in our installation package and do a silent install, because it will likely be out of date. Instead, we detect if MySQL has been installed, and if not, we direct them to MySQL's download page and tell them to install MySQL Server and Workbench. This generally works for getting Server installed, but Workbench frequently fails (either because of the pre-reqs and MySQL Installer's non-intuitive prompts, or because they don't notice our recommendation). Therefore, I'm looking for a way to detect if Workbench is installed so I can offer a second prompt if needed.
Does the Workbench GUID stay the same over all the different versions? I'd hate to hard code one in and then have my installer be unable to detect newer/older/non-"Community Edition" versions.

Related

How can I tell SQLDeveloper which version of JDBC to use?

I need to connect to an Oracle 9i server from my machine using SQLDeveloper. I already have a functioning version of SQLDeveloper 18.2 + Oracle Client 12 for more modern databases, but for this connection I want a separate older version of SQLDeveloper.
I've installed SQLDeveloper 3.2.20.09 in a separate folder on my machine and can launch it, but it defaults to finding the ojdbc6.jar file from Oracle Client 12. if I go to Help > About and select properties, the jdbc.library says jdbc.library /C:/app/client/product/12.1.0/client_1/jdbc/lib/ojdbc6.jar
and if I try to connect I get the error ORA-01460: unimplemented or unreasonable conversion requested
I tried putting the path to the SQL Developer 3.2 install first in the PATH variable, but no difference. Is there a way to tell SQL Developer which jdbc driver to use for Oracle ? (maybe in sqldeveloper.conf)
The official answer is:
use the jar (driver) we ship with the product OR
use a Thick Client, and we'll pull the jdbc driver from an Instant Client or Oracle HOME on your machine
The 2nd option will work so long as you don't try to go back back or forward in time to the point that the software will recognize/support the driver.
In other words, you can't tell SQL Developer 18.x to use a 9i Home, we have a hard dependency to require at least a 11gR2 client (I believe, it could actually be a 12c based client which is required).
You'd be better off getting your data out of that ancier 9i Database and into a modern 12 or 19c Oracle instance.
but it defaults to finding the ojdbc6.jar file from Oracle Client 12.
Sounds like you've managed to get a thick connection defined, go into preferences and disabled on the advanced page any reference to OCI or Thick, then it will use the jdbc driver shipped with SQLDev.

MySQL Installation Wizard for Microsoft Windows

I tried to install MySQL on my machine (win 8 64 bit), I downloaded mysql-5.6.24-winx64.exe and after completing MySQL 5.6 setup wizard, the MySQL Server Instance Configuration Wizard does not start and nothing happens. In the windows start menu for MySQL I have only 2 options:MySQL 5.6 command line client and MySQL 5.6 command line - Unicode.
So what can I do to resolve this problem and run MYSQL on my machine, I am waiting for your advice. Please help me I need to resolve this problem
I strongly recommend to use the all-in-one Windows installer for installing a MySQL server plus any additional tool you want, like MySQL Workbench, connectors or documentation. It will not only install the right package but will also do semi-automatic updates, check for prerequisites, start the configuration wizard etc.

ZendServer CE - change database type?

I am using the trial version of the Zend Server edition. From all the videos/documentation supposedly you are able to change the database version from SQLITE to MySQL, but all I get when deploying an application on Zend Server is to set the Host, Database name, username and password?
Just install mysql on your system and use it. ZendServer does not care what database engine you use. When installing Zend Server it is supposed to ask if you want to install mysql (possibly you have to chose manual installation or custom or extra stuff) you might of mised that option so perhapds reinstalling is the simpler solution.
But really, you should be able to just install mysql and start using it.

Unable to install PostgreSQL on dev machine

I'm trying to install PGSQL 8.3 (and 8.4 and 9.0) on my work laptop. At the end of the installation, the installer complains it can't init the cluster. Investigating more, I noticed that the service is not even installed. I did use the "OneClick Installer", not the pgAdmin stand alone install. I tried installing as Administrator and as a regular user. In all the cases, the pgsql system account is created and the files copied, but the service is not.
I successfully installed PGSQL many times on my home PC. Both the laptop and desktop use Windows 7 64 bits (former is Professional, later is Ultimate). The only differences I can think of are that the laptop is part of an Active Directory and uses McAfee, while the desktop is only on a workgroup and uses Windows Security Essentials.
Are you sure the postgres user is allowed to create files in the data directory? The installer defaults to putting the data directory where the binaries are installed (e.g. c:\Program Files) which is usually not writeable by a regular user (and I never understood why the installer contains such an idiotic default).
McAffee could be an issue though. I have heard several stories about virus scanners infering with the Postgres (or other DBMS). Can you turn McAffee off - at least for the data directory?
Another problem could be that the installer is not able to create the postgres windows user (that is used to run the service).
If you are a local administrator on that machine, try to create the user before the installer does it. The installer will then not try to create the user account.
As a last ressort, you could install PostgreSQL without the installer (this is what I usually do).
Download the ZIP file from http://www.enterprisedb.com/products-services-training/pgbindownload
Unzip it into a convenient location
Run initdb (make sure you do that using the postgres user account - the one that is used to run the service later!)
run pg_ctlr register to create the Windows service
If any of those steps fails you'll see a proper error message which is not always the case with the installer.
Anti-virus is a well known issue:
http://wiki.postgresql.org/wiki/Running_&_Installing_PostgreSQL_On_Native_Windows#Antivirus_software
PostgreSQL connection problems
(answer is from one the core developers)
Postgresql 8.4 and BitDefender 11
With earlier versions of PostgreSQL, I found I had to delete the user "postgres" before reinstalling would work. Not sure what versions had that problem, though.

Oracle Driver Installation

I am having Oracle 10g installed on my laptop and have downloaded ojdbc14.jar driver for the same. The problem is, my operating system is Windows 7, and I'm not having option to create a Data Source for Oracle since I m not having oracles driver installed. I m having option to create a Data Source for SQL server 6, but I want to get connected to Oracle. Please Help.
By 'Data Sources', I'm guessing that you mean Data Sources (ODBC), under Control Panel > Administrative Tools. Is this correct?
I've set up ODBC Data Sources that connect to Oracle databases before, but to do that I've needed the Oracle client to be installed. However, if you're having the full database installed on your laptop (as your question suggests), you won't need the client - that's only used to connect to databases running on other machines. I believe the full database contains everything in the client, so you should be able to set up an ODBC Data Source pointing to the database on your laptop once the database has been installed.
The ojdbc14.jar just contains the JDBC classes to talk to an Oracle database, and only programs written in Java (and other languages that run on the JVM such as Scala, Groovy or Clojure) can use it. This jar on its own not enough to be able to set up an ODBC data source.
Oracle currently has 1 version that is certified for windows 7. That version is 11.2. They have indicated that they plan to certify 10.2.0.5 if this happens there will likely be a patch that will be needed.
This is probably why the Data Source does not work, either ODBC or OLEDB.
Another possibility is that you have installed the 32bit version of Oracle and your OS is 64bit then you would need to use the 32bit Data Source administrative tools.
I have figured out the solution for my problem. All that I needed to do is put ojdbc14.jar file in my class path and then I was able to use it. Though by doing so, I needed to make some change in the code. I was no more able to use Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") instead I needed to use Class.forName("oracle.jdbc.OracleDriver") also instead of using my data source as "jdbc:odbc:somename" I needed to use jdbc:oracle:thin:#localhost:1521:xe.