My First wyBuild

This is my first time using wyBuild and I am running into an issue.

I am following the video along with the step by step instructions.

I have already created a setup with the Automatic Updater installed in my app. It has been installed and is looking at my ftp site saying that the program is up to date, as it should. This is version 1.0

I am now trying to get an update out to my ftp site for the program to download, version 1.1. So following the instructions (I think), I build (a release build) my project in visual studio, version 1.0. I go to the release folder and copy the files to my wyBuild 1.0 folder just like in the video. I then drag the files from the 1.0 folder into the wyBuild 1.0 tab in the Files & Folders section.

I make my changes and repeat the following steps, except in a 1.1 folder and the 1.1 tab in wyBuild. I then go to Build wyUpdate and it says success. When I go to click Build Updates I get a successful build (with warnings).

The warning says: "'myFile.dll' won't be updated because the old file location is equal to the new file location on the disk."

It says this for all of my files.

Now, I have the different folders for each version so I am not exactly sure why I am getting the warning. Any ideas?

Also please let me know if I am going about this the right way. I am using InstallShield to create my Setup.exe file. For version 1.0, I added the wyUpdate.exe and client.wyc to my Setup.exe and installed the project via the setup.exe that was created by install shield.

Do I need to add the Updated Setup.exe(version 1.1) to the wyBuild somewhere when I do the update or is just adding the files being updated enough? I still don't have a clear picture on how the update is going to work after reading the step by step instructions and the video. Any help will be greatly appreciated. Thanks!

BTW great work on the program! I really like it so far, I just need to figure out how to use it! 😀

Hey Andrew,

"'myFile.dll' won't be updated because the old file location is equal to the new file location on the disk."

That error means just what it says. That is, your 1.0 files are in the exact same location as your 1.1 files. If I were to guess what you did is that you're treating wyBuild like a Zip program. wyBuild doesn't move or store your files -- it only references them from disk.

Here's what you should do. Copy your original 1.0 files to a "1.0" folder on your harddrive. Then copy your 1.1 files to a "1.1" folder on your harddrive. Then, only after you've stored your versions in separate folders, add the files to their correct version in wyBuild.

Does that make sense?

Wow, sorry to bother you. I feel stupid, I must have thought I copied from different folders but actually copied the same files. Thanks for you time!

I get this same warning for the same reason (different versions targeting same file system paths).

However, the updates still get pushed to the server AND the files actually do get updated on the client.

?

Click the file in the new version that wyBuild is warning you about. Look at the local path. Does the new version "local path" for the files equal the old version "local path" (or if you have multiple old versions, check every version).?

Yes, this is what I meant stating: (different versions targeting same file system paths)

wyBuild ignores any files that use the same path. It sees they files point to the same version so wyBuild doesn't even bother comparing the files. So yes, other files (ones not showing a warning) will update fine.

My recommendation is to store your files in completely separate folders so you don't get these warning. Let wyBuild take care of the file comparison (seeing which files are new, which files need to be patches, and which files need to be deleted).

Is there anyway that we can disable this behavior? (In other words we want the following behavior...)

We don't want to have to put different versions in different folders. We only want to specify where the latest release is located.

We're trying to automate the release process as much as possible. Is there a certain wyBuild command line setup where we can just specify: Build all files into the updates no matter if they're in the same location as a previous version. (Our TOTAL file size is under 3MB and it's only used on our company intranet, so file transfer is quick.)

(Side question: Why is it not possible for wyBuild to use previous deltas and the current files to derive the latest delta?)

We don't want to have to put different versions in different folders. We only want to specify where the latest release is located.

Since your updates are so small, and since all your updates will be delivered over a LAN, you can use one of the lesser known (and slightly hidden) features of wyBuild. That is, instead of creating a version tab for every version of your software you only have 1 version tab. And every new version of your software, instead of creating a new version tab, you change the version number of that single version tab.

Then it's a simple matter of including where your release files are located.

Plus you can automate the whole process. See: Building from Commandline.

(Side question: Why is it not possible for wyBuild to use previous deltas and the current files to derive the latest delta?)

Because we haven't programmed it. Also, the speed gains would be minor. You could get much more speed by just switching to SSD drives.

Thank you.

Just in case anyone has a similar situation, our solution is:

In the XML file have <AddVersion> ... then <RemoveVersion> below it. (The other way around causes wyBuild cmd to throw.) We then manually update the AddVersion and RemoveVersion values before each publish.Our publish script is under 100 lines and is basically: clean output folder, msbuild the solution, clear any unneeded filetypes, invoke wyBuild cmd, push Setup files to server.