If you want to upgrade your Zen Cart installation to a newer version, there are several things you need to take into consideration first.

The first thing to keep in mind is the importance of making a backup of your site before beginning the upgrade process. This is extremely important so that you can restore your site to a working state if the upgrde process does not go as planned.

The Zen Cart upgrade process is not as easy as some programs where you simply push a button or click a link. You will want to set aside a block of time or break the process up into stages so that you can carefully complete all the tasks involved. Once you are ready to begin the upgrade process, we've duplicated the instructions from Zen Cart but have added links to documentation in our Support Center that will be helpful during the process. Please note, the steps involved depend on whether you've made changes to Zen Cart or not. Most users have likely made changes (either customizing their template or installing third party addons)

Upgrading Zen Cart Without Customizations

If you are using the default installation of Zen Cart with no changes to the templates and no third party addons, you can follow the steps outlined here to upgrade your Zen Cart installation:

The following instructions are copied from: http://tutorials.zen-cart.com/index.php?article=98

  1. Back up your site from the server as well as the copy on your computer.
  2. Backup your database
  3. Create a new directory and copy your site into it
  4. Then create a new database and load your old database in it
  5. Next, change the two configure.php files to utilize the new directory and database
    This way ... when you attempt to upgrade you are "practicing" to see where the problems, if any will happen
  6. Make sure all appears to be working on your temp site. (please do not confuse this with your account's temp URL, the instructions here are referencing the URL where you just installed the second copy of Zen Cart)
  7. Now load the "new" version files to your new temp directory (from latest downloaded ZIP)
  8. Run the http://www.your_domain_name.com/your_new_site/zc_install
  9. Choose the Upgrade Database option
  10. Process each suggested step one at a time ... leave the first checkbox that the upgrader picked checked and uncheck the others.
    -Advantage is that you can see your problems step by step
    -Each time it completes it will recheck the boxes left to go.
    -Continue in this method until all boxes are unchecked.
  11. If you find you have issues, you are not hurting anything and can always start over without damage to your existing shop and live database.

Reminder:  Read the /docs/2.readme-upgrade.html document for step-by-step details and information on tools to help in the process.

Upgrading Zen Cart With Customizations

If you have made changes to Zen Cart, even if you use the override system, you will need to follow the instructions outlined below. The following instructions are copied from: http://tutorials.zen-cart.com/index.php?article=108

NOTE: For each new release, there are important documents in the /docs folder of the Zen Cart ZIP file.  Please check the /docs/2.readme_how_to_upgrade.html file for any special notes about the version you are upgrading from/to.

Getting Started ...
This is a basic guide to upgrading Zen Cart®. If you have not yet installed Zen Cart®, please see the /docs/1.readme_installation.html file for installation instructions.

To upgrade Zen Cart®, you'll need the same basic tools you used to install and customize it in the first place: An FTP program, a text editor friendly to HTML/PHP code, phpMyAdmin or equivalent access to your MySQL database, and your Control Panel for managing your webspace.

Additionally, you will find a file-comparison tool (see here for a list of recommended tools: http://www.zen-cart.com/wiki/index.php/Useful_Tools ) is invaluable. (The free tools offer 2-way comparison. The more advanced paid-for tools offer 3-way comparisons which can be very handy, but costly.)

Upgrading follows 3 easy steps. We suggest you take your time going through each stage carefully and methodically. Don't rush the process. And as always, be sure you keep good backups first.

We highly recommend you pay special attention to getting familiar with the demo data in the new version, so that you can become comfortable with the many new features contained in the new release.
1. Preparation
Unzip a copy of the new version of Zen Cart®, upload it to your webserver into a "demo" folder, and install the new version into a separate database, and include the Demo products. This is just for a place for you to play with the new version and get used to its new features. These can be deleted after conversion is complete.

Study the new features, and the documented changes to the template structures, as well as the "changelog". Use the demo products in the demo shop as examples. See also the supporting documentation provided with the new release.

Make a full backup of your database (dump to SQL file). Store this file on your PC for later reference.

Make a full backup of your site files (ftp to your PC and zip it up for safe-keeping).
Keep the backup on your PC to use in next steps. Perhaps call this folder "\zen_backup".

Now let's find out the differences/customizations details between your site and the original Zen Cart® files.  (You can find older versions here: http://sourceforge.net/projects/zencart/files/ )

Unzip a copy of the original Zen Cart® files for the version you originally installed or last upgraded from (ie: perhaps v1.1.3 or even 1.2.0). This should be placed in a separate working folder on your PC (perhaps "\zen_orig").

Make a list of any add-ons you have installed, for later reference.

Run a tool like WinMerge to compare the "Original" Zen Cart® files in "\zen_orig" against your working backup files in "\zen_backup".
Note all the files that are "different". In WinMerge, double-click on each file and note what the differences are.
If the differences are just language defines for display text, those will be simple to carry forward.
If the differences are actual programming/code differences, you will need to make detailed notes in order to carry over those changes to the new new new version.
Any mods/add-ons you've installed will likely contain many programming changes, and may not be fully compatible with the newer Zen Cart® release.

Your list of add-on's may help you narrow down the source of any differences you're finding between versions. You may have to download the add-on again to take a look at the readme or code contained in it. You may have to contact the author to ask for an updated version.

As you make your list of changed files, etc, at this stage, you may want to move things into the Zen Cart® template-override structure, if you haven't already done so. See the Template System Documentation for help on the template system.

2. Execution
Download and unzip the latest Zen Cart® version to your PC. This will be in a 3rd directory (perhaps "\zen_new"), separate from the other two folders compared above.

Using the list of files you made earlier, go through each "changed" file, and make your changes from the old version into the new version.
Simple language edits will be just a matter of copy-and-paste.
Programming changes to core components will be more difficult and require significant testing.
You may find WinMerge handy at this stage to apply edits as well. However, you will see many extra differences that may not be related to your own customizations, or that may conflict. Be careful making changes to program code.

Note that there will be several changes you will have to make to files that you have overridden using the template overrides system. Thus, you'll want to compare files from /includes/templates/MYTEMPLATE/* to /includes/template/template_default/* ... and the same with language file overrides, sideboxes, etc.

3. Testing
Make a NEW database to install the new version of Zen Cart® into.

If the last backup you made of your data is older than the last order that might have been processed or customer registration, make a fresh database backup.
Restore your database from the backup in step #1 earlier into your NEW database just created.

If your /zen_new folder doesn't have "/includes/configure.php" and "/admin/includes/configure.php" files, copy them from your old store folder.

EDIT your "/zen_new/includes/configure.php" file and ensure that the DIR_FS_CATALOG and DIR_WS_CATALOG and DIR_FS_SQL_CACHE (and other path settings too) correctly match your NEW directory structure on the server.

EDIT your "/zen_new/includes/configure.php" file and ensure that your DATABASE_NAME matches your NEW database. Also verify database username and password in case that information has changed. Save this file, and be sure to upload it as part of the next step:

Upload the files from your modified "new version" (created in step 2) to your server, into an alternate folder, perhaps called "/store_new".

Run /zc_install/index.php and choose "Upgrade" when prompted. (Don't select "Install", or you will overwrite your database.) (If "Upgrade" is not offered, then the installer was unable to connect to your database to confirm what version its structure is at. Check your configure.php settings.)

Test your customizations. Edit as needed. Compare with the test/demo install performed earlier, as needed.

When satisfied that all is OK, go live.
If significant time has passed since you did your last backup, you may want to repeat the steps in this "Testing" section again, using a fresh backup from your live shop. You don't need to re-upload files again ... simply do the database restore, and run the installer to do the database upgrade again.

To go live, put your shop into "Down for Maintenance" mode in the admin area. Be sure to add your IP address to the list of allowed addresses to get into the site for previewing.
This can be done easiest by renaming "store_new" to "store". (You'll have to rename "store" to something else first.)
Test it to be sure that things are operating as desired. If you have small problems to repair, turn "Down for maintenance" on and off again as necessary.

Remember that your "configure.php" files on your server are typically set to read-only, and thus in order to upload them will require that you mark those files read-write before uploading.  Be sure to put them back to read-only after uploading.

Did you find this article helpful?

We value your feedback!

Why was this article not helpful? (Check all that apply)
The article is too difficult or too technical to follow.
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
How did you find this article?
Please tell us how we can improve this article:
Email Address

new! - Enter your name and email address above and we will post your feedback in the comments on this page!

Did you find this article helpful?

Post a Comment

Email Address:
Phone Number:

Please note: Your name and comment will be displayed, but we will not show your email address.

Related Questions

Here are a few questions related to this article that our customers have asked:
Ooops! It looks like there are no questions about this page.
Would you like to ask a question about this page? If so, click the button below!
Need More Help?

Help Center Search

Current Customers

Email: support@WebHostingHub.com Ticket: Submit a Support Ticket
Call: 877-595-4HUB (4482)
757-416-6627 (Intl.)
Chat: Click To Chat Now

Ask the Community

Get help with your questions from our community of like-minded hosting users and Web Hosting Hub Staff.

Not a Customer?

Get web hosting from a company that is here to help.