Difference Between MSI and EXE (Setup.exe)

What is the real difference between an MSI and a Setup.exe File? 

If you google this topic you will find that thousands of websites attempt to make the comparison but what I found is that most of them just give their definitions and that is it. We do not want  “Damn” definitions, we  just want  the differences.  I hate to reinvent the wheel, but in this case I may have to.

Here are the differences once and for all 

1. Setup.exe  is required if you want to install prerequisites as as part of your install.

2. If you want to push a program to Multiple Computers on a network (domain, group policies involved, silent installations)  MSI is the way to go.

3.  An MSI can contain EXE files and EXE files can contain MSI files.

4.  In deployment where both MSI and EXE are provided if your setup file is very small compared to your MSI files, chances are your SETUP.EXE  job is to "install prerequisites" or to "simply launch the MSI". (Try renaming the MSI file and see if setup works)

5. MSI is the recommended way to install applications

6. Setup is a little old school.

7. Some Vendors force the installation to be run through the "Setup.exe" remember that set up can be used to install prerequisites so these vendors' goal is to make sure that you install all prerequisites before installing their software (make sense). So the MSI may require the Setup.exe.

8. Some people say that you can ignore one or the other, this is not an absolute truth.  It really depends, The MSI may require the EXE and the EXE may require the MSI.

Reference
From the Horse’s Mouth
http://msdn.microsoft.com/en-us/library/aa367449(v=VS.85).aspx

Microsoft Forum
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/50b0491d-02d1-48be-bb0e-f6feeec28395/

Rename a Table in Mysql

The other day I wrote a piece on renaming a Mysql databases and I thought that it could also be useful if I show you how to rename a Table using phpMyAdmin and MySQL Workbench 5.2 CE and the old reliable command lines. Renaming a table is very easy but like in most Linux it is not always intuitive to the regular users who are use to using Microsoft Enterprise Manager.

Here is how to rename a Mysql table using phpMyadmin, Mysql Workbench and Command Line:

1. Using phpMyAdmin

Login to your Server
click on your database then click on your table
click on the "Operations" Tab
Then you will see the following option:

2. Using MySQL Workbench 5.2 CE

Login to your database server
Right Click on your Table
And Click "Alter Table..."

FYI: Now instead of  “alter table” why don’t MySQL Workbench just gives us a “rename table” option.  Such option would have been more intuitive to the newbies.  Microsoft Enterprise Manager has it (just saying…).

3. Plain old Commands

RENAME TABLE oldtablename TO newtablename;
ALTER TABLE oldtablename RENAME TO newtablename

References:

Renaming a table Mysql

http://dev.mysql.com/doc/refman/5.1/en/rename-table.html

Difference Between Quirks Mode and Strict Mode

Most of the differences between Quirks Mode and Strict mode are highlighted below:  If you want to get more information and a deeper understanding of the subject please visit this following website:
http://www.quirksmode.org/css/quirksmode.html

Quirks Mode is for old rules (older Browsers) while Strict Mode is for standard rules (Newer Browsers).

Most Modern Browsers support both modes for backwards compatibility reasons but older browsers only support the Quirks mode by default and moderns rules will not work on older browsers.

If no DOCTYPE is specified older browsers and newer browsers will process the page in quirks mode. 

Here is what the DOCTYPE looks like
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

The moral of the story is not to use older codes with new DOCTYPES.  If your old Javascritpt  menus are not working the way they are supposed to, your problem may be related to the DOCTYPE that you are using.


DOCTYPE
http://www.w3.org/QA/2002/04/valid-dtd-list.html

Quirks Mode Wikipedia
http://en.wikipedia.org/wiki/Quirks_mode

Quirks mode and strict mode
http://www.quirksmode.org/css/quirksmode.html

Compatibility Chart
http://www.quirksmode.org/css/contents.html

Renaming a Database in Mysql

From the easy way to the crazy way here is how to rename a Mysql Database.

1. Using phpMyAdmin
Log into your phpMyadmin select the database that you want to rename and click on the Operations tab

2.   You can use mysqldump (This is the one I use or very large databases)

mysqldump -u username -p -v SourceDB > SourceDB.sql
mysqladmin -u username -p create  NewDB
mysql -u username -p NewDB < SourceDB.sql

3.  Create a new database and migrate all the tables from the old one to the new one.

4.  The Crazy Option

Shutdown the MYSQL Database
Locate the location where MYSQL save the databases. (ususally they are located in /var/lib/mysql/ on a Linux platfrom)
Rename All Old database Files to new Database filenames (something like mv olddb.* to Nename.*)
Restart The Database
Make sure you check the Grant permission.