two products receive crossing updates

Hi team!

We like your tool a lot 🙂 We use it successfully in our product, however we got to see some rare behaviour.

We have 3 versions of our tool official, release candidates and debug all 3 have their own wyBuild projects with apart upload servers. We have noticed that official release version got updates from RC, on other machine we got officla version that updated to debug version.

This is very strange since all 3 versions have apart client files and update servers (double checked!).

Is there some common temp dir where all wyUpdaters dump updates (so one wyUpdate instance can by mistake take updates of other wyUpdate instance)??

Does it has something to do with the wyUpdate GUID's ?

Hey Bobby,

What do your download sites look like for these versions? Are you uploading everything to 1 folder on the server? Or are you building your updates to a "common folder" on your computer. (You might be overwriting the *.wys file from 1 version).

the download sites are as follows

xxx/OfficialRelease/xxx/Debug/xxx/RC/

each version of our app is uploaded to its separate folder on the server so RC goes to xxx/RC/, debug to xxx/Debug/ etc.

Each build outputs wyUpdate client and wyUpdate.exe to dir c:/Updater/. This step is automated with build script.Each build outputs updates and server files to c:/UpdaterServer/. This step is manual (we did not yet figured out how to deploy all on a server).Indeed outputs are all going to the same dirs. This is beacuse we see no option how to change the output path in wyBuild project from command line.

I just have checked once more the server files (wys) as deployed on our server. All of them has correct path for all updates.

So yes we overwite the wys file in common directory but the upload is done using wyBuild tool and as i have checked on the server the wys files are uploaded into correct directories and paths inside wys point to updates in correct dir.

We have noticed that when installing our app fresh (using installer) all is ok the updates come from the correct website and version.So we belive the clinet, wyUpdate and server files are ok.

However we could reproduce the cross updating when we install for example our RC version in existing offical release version folder and then update. We use inno setup so it overwrites all content of the installation directory. So even though all files has been replaced there is some way that wyUpdate still points to wrong location?

Anyhow it may be a good idea to have some last step check in wyUpdater.exe so it does not install updates that come from location other than stated in its client file.

Each build outputs wyUpdate client and wyUpdate.exe to dir c:/Updater/. This step is automated with build script.Each build outputs updates and server files to c:/UpdaterServer/. This step is manual (we did not yet figured out how to deploy all on a server).Indeed outputs are all going to the same dirs. This is beacuse we see no option how to change the output path in wyBuild project from command line.

This is probably where the error occurred. Likely you included the wrong client.wyc with the wrong version or the wrong wyserver.wys to the wrong server.

To prevent this from happening again change the output folder. Go to "File -> Properties -> wyUpdate" to change the wyUpdate output location and go to "File -> Properties -> Update & server Files" to change the update file output folder.

The cause of the problem might also be that you're including the client.wyc in your updates and you accidentally built an update that had the wrong download site (because everything gets thrown into the same folder).

Does that make sense?

Thx for help but none of the mentioned applies. We have triple checked server .wys files deployed on the servers and all are on the right location, right directory and point to right updates.

Same with client files for all versions we checked all clients are pointing to the right versions and download servers.

The only thing i can imagine is that something goes wrong with GUID of applicationUpdater, that this got mixed up and updaters mix up downloaded updates (shared GUID maybe).

When making pure install of our app on virtual machine all goes good. But once RC was installed and then Official release, the offical release version updates from RC updates. I went to check what got installed in Official release folder and client file there points to Official release update server and version is the official release version. So client seems ok.

If we uninstall RC all goes well for official release.

we appreciate your support

Well, the GUID for wyUpdate and the GUID for the AutomaticUpdater should all be different for all of your separate apps. Otherwise you will get crossover problems.

hmmm

That does not sound promising. Could you please describe how the updater gets this cross referencing? The clinet file seems to have no role in the update game?Does it work this way that automatic updater searches via registry which clinet file to use?

Is there link between automaticUpdater GUID and wyUpdate.exe GUID? If so how is wyUpdate.exe GUID set?

We have checked the GUID for automaticUpdater. We have two GUID'd one bound to official release and second to RC both are derivatives fo the GUID of the app version (we attacht "updater" to the end of the app version GUID).

Still have to take a loolk at debug version GUID.

Seems like we got into some good deal of trouble. Please add some explanation about the GUID's use in your tutorials.

Support much appreciated!

It's best to leave the wyUpdate GUID as semi-random (click Generate new guid). The AutomaticUpdater guid should be separate for every separate product you have.

If that doesn't fix your problem, and building your updates and wyUpdate in separate folders doesn't fix your problem then something else is going wrong. In that case I'll need you to make a small app that reproduces the problem and send it to me at wyatt@wyday.com. If you can't do that then we'll have to use your existing app and try to reproduce it from there.

Wyatt wrote:> It's best to leave the wyUpdate GUID as semi-random (click Generate new guid). The> AutomaticUpdater guid should be separate for every separate product you have.

Ok. It would help us to solve it if we knew a bit more about how the process of update is related to GUID's of AutomaticUpdater and wyUpdater.exe. We will have to fix somehow the products that customers are using.

Each version will have now separate GUID, that is however static per version of our app. So Release will have one unchanging GUID for AutomaticUpdater, Debug another GUID and RC another.

Is this sufficient? Or each time we construct an update we need to change the GUID's of all AutomaticUpdaters?

> If that doesn't fix your problem, and building your updates and wyUpdate in separate> folders doesn't fix your problem then something else is going wrong. In that case> I'll need you to make a small app that reproduces the problem and send it to me> at wyatt@wyday.com. If you can't do that then we'll have to use your existing app> and try to reproduce it from there.

Same here. We build client file and wyUpdater.exe to the same folder for all versions of our app. we do not build all of them in one time, instead one version at a time. Each time we copy contents to the correct installer folder by hand, build updates by hand, upload updates by hand. We had no problem in here yet (always correct client and wyUpdater.exe was included with correct app installer and correct files upladed to servers).

Also funny that TortoiseSVN does not see any difference between between wyUpdater.exe build for each version. Is there anything changing in wyUpdate.exe?

Would using all three new GUID's from now on will fix it also for app's already installed at customers?

Let assume we use all 3 GUID's which are different from eachother AND different form the already released ones.Is this quick fix sufficient?

best regards,Emil

Hey wy team, we really need your support. We are sitting blocked with our updates because we do not what to have things getting worse. We also need to fix in field issues.

cheers

Either send us a product that shows this problem or give us a way to reproduce this. Send it to wyatt@wyday.com and I'll personally take a look at it.

Also, for the product/reproduction you send -- please explain exactly what is happening that you see as being wrong and what you expect.

Hi team,

We do not get time to do the test app for it. We have asked some very specific questions that we would imagine are easy to answer. We would appreciate if those were answered because we can then take some action.

Yesterday we:- changed the wyp's for all products ( we have generated new GUID's via File->Properties->wyUpdate genrate new guid)- changed all GUID's for the automaticUpdaters

The GUID's of the wyUpdate (we guess?) that is set in wyp was the same for all 3 products, and all the same in client files for those products. This is now all different. We hope wyUpdate does not have some hiddedn GUID we still do not know about and that could hamper the process.

With this we hope to have no cross updates in the future. All installers will have all different GUID's in it.

Feedback: http://wyday.com/wybuild/help/faq.php#in_client_wyc does not contain that GUID is also stored in client file, also importance of GUID made via wyp is not enough stressed out in tutorials. It seems it is crucial part of wyUpdate mechanism so please update your documentation about it.

Since all our products in the field have "infected" client files with the same GUID in it (but all products have different automaticUpdater GUID's) we wonder if update of the client files has any merit in trying to fix the problem in field.It would probably just cross update client files causing more havoc.

thx for help in advance.

Feedback: http://wyday.com/wybuild/help/faq.php#in_client_wyc does not contain that GUID is also stored in client file, also importance of GUID made via wyp is not enough stressed out in tutorials. It seems it is crucial part of wyUpdate mechanism so please update your documentation about it.

You're right, we should. However, we also expect most users to never touch the GUID (or need to know about it in any way). And for those that do touch the GUID we have a helpful (at least we think) tooltip that explains the GUID:

[attachment=0]wu-guid.png[/attachment]

In fact the tooltip explicitly tells you not to use the same GUID for multiple products. Perhaps we should make this more prominent. However, the question then becomes: How do we make this very obvious for the users who do change the GUID / copy projects / etc. without scaring away users who use wyBuild in the more traditional manner?

This isn't an easy question to answer, or an easy design problem to solve (I wish it were).

We hope wyUpdate does not have some hiddedn GUID we still do not know about and that could hamper the process.

It doesn't - there's no hidden GUID.

Since all our products in the field have "infected" client files with the same GUID in it (but all products have different automaticUpdater GUID's) we wonder if update of the client files has any merit in trying to fix the problem in field.It would probably just cross update client files causing more havoc.

You can include the client.wyc in your update. Tell the users to only update one product at a time. Don't run any other product until the update for the first product is updated.