Learn how to use wyBuild, add the updater (wyUpdate) to your app, and how to test your first update. You should at the very least give the video tutorial a look.
The first thing you need to do is download and install wyBuild. The wyBuild installer contains everything you need to add updating to your application.
After downloading and installing wyBuild you'll have the purple wyBuild icon on your desktop. Double click it and create a new project.
Simply enter your product and company names in the textboxes.
You can choose from one of the pre-made themes, or you can create your own:
You can include multiple translations of wyUpdate. Either choose from one of the included translations, or create your own translation.
wyBuild doesn't need to know about all your earlier versions. Just start with the current version you'll be releasing to your users, and enter that in the version textbox in wyBuild:
You don't need to enter changes for this version, since no one will be updating to this version.
Now we'll set where wyUpdate will download updates from:
You should specify the site in the form of
[protocol]://[sitename]/sub/directories/%file%. For example:
wyUpdate can download from any of the following protocols:
Note: for FTP sites you need to url-encode special characters.
Now we're ready to build wyUpdate for inclusion with version 1.1 of your app. Click the "Build wyUpdate" button:
As you may have noticed earlier, we haven't added any files to your project. That's alright. For the first version of your product that includes wyUpdate you'll just be building a blank update. That way when wyUpdate checks with your servers it knows that it's up-to-date.
To build the blank update simply click the "Build Updates" button:
Upload the blank update you just built. You can add any FTP, SFTP (aka SSH FTP), Amazon S3, or Windows Network Share sites directly within wyBuild. After you've added the sites you'll be uploading your updates to, click "Upload updates".
If your server isn't capable of accepting FTP, SFTP, Amazon S3, or Windows Network Share uploads, you can use any 3rd party uploader program (e.g. Cyberduck) to upload your updates. Just upload all files in the "Updates" folder after you click "Build updates".
Now run wyUpdate. It should say you have the latest version installed.
Get a 404 error? If so, make sure the site you typed in step 3E is correct. If you're using Microsoft's IIS server, make sure you set the MIME types of the .wys and .wyu file types to "application/octet-stream". Read how to configure your server (with pictures).
To add updating ability to your app all you have to do is add the wyUpdate.exe and client.wyc files with your application. Of course, you can more deeply integrate wyUpdate in your app.
If you're making a .NET app and you want full control over every step of the updating process then use the AutomaticUpdater.
After adding the AutomaticUpdater to your app, try checking for updates within your app. It should say you're all up to date:
If you're not making a .NET app, you can still add silent checking and silent updating to any application no matter the language (C, C++, VB6, Delphi, Java, etc.):
While wyBuild doesn't currently build installers for you, there are many good free alternatives (NSIS, Inno Setup, WiX, etc.). When you're building your installer include all of your app files and folders along with "wyUpdate.exe" and "client.wyc".
If you're making an MSI installer then you will need to disable "Advertised shortcuts" or you will run into problems where the MSI installer tries to "repair" your updated app. If you're not making an MSI installer you can skip this step.
In WiX you can disable advertised shortcuts by setting the
Advertise="no" attribute for every <Shortcut> element. For the Visual Studio installer maker (and other 3rd part MSI makers) this involves setting
If you haven't already done so, you'll need to add the files for your first version of your app to wyBuild. wyBuild only references files from disk — it does not store your files for you, which means this involves 3 steps:
Create a folder to store the files for this first version that includes wyUpdate (in this example we call it version 1.1).
Copy all of the files from version 1.1 of your app into this folder.
Drag all the files into wyBuild from inside this "1.1" folder you just copied.
Note: There are several different target folders within wyBuild. The one most people will use is the "Your program's folder". This folder corresponds to the folder where the "wyUpdate.exe" and "client.wyc" files are sitting on your customer's computer (i.e. in your app's base directory). This way you don't need to hard code your application paths.
Now that you've added the first version of your app into wyBuild we need to do the similar process for the next version (let's call it version 1.2):
Create a folder to store the files for this new version (we're calling it 1.2).
Copy all of the files from version 1.2 of your app into this folder.
Drag all the files into wyBuild from inside this "1.2" folder you just copied.
We're going to re-build wyUpdate. As you'll notice this re-built version will be for inclusion with version 1.2 of your app (as opposed to before, when you built wyUpdate for version 1.1 of your app).
In the steps above you added all the files from two version of your app (we're calling them 1.1 and 1.2). Now when you click "Build update" button, wyBuild will dynamically scan the files on disk and generate small patches for you.
Click the "Upload updates" button to upload your newly created update files. Now your users will be able to update to the new version of your app.
If you want to test the update process you'll need to do 2 things:
Make a duplicate of your "1.1" version of your app (including the "client.wyc" and "wyUpdate.exe" files).
Run your app (if you're using the AutomaticUpdater) or just run wyUpdate.exe (if you're using it as a standalone updater).
Note: You don't want to test updating over your original files. Always make a copy of the folder to do the testing.
When you're building your installer, include all of your app files and folders along with the newly re-built "wyUpdate.exe" and "client.wyc" for version 1.2 of your app.