We're writing up some simplistic instructions now (with pictures). We'll have them up by Monday.
Call me whatever you like but I am really confused as to how can I make wyBuild work.
I watched the tutorial, read the help files and forum posts and I am still confused. So I am here asking for help.
I have a vb.net application. I use visual studio 2010 for development. I want to deploy my application through my website and will use Inno Setup to create my setup.exe. Simple enough, I hope.
To test wybuild in a way to mimic what I will do to my application, I attempted the following:Step 1:I created a new vb.net winForms application. In form1 I added a menu strip with a menu item called "check for updates". I then added the wyUpdate component to the form and proceeded as per the instructions in the video tutorial (except for the closingAborted event). I then checked the assembly information for the project and made sure it stated version 1.0.0.0. Next step was building the application in the Release environment (rather than debug).
Step 2:Then, for organization purposes, on my desktop, I created a new folder called myTestAppProject. In that folder I created 2 new folders: version1 and version2. I then copied myTestApp.exe and AutomaticUpdater.dll from the Release folder to the version1 folder.
Step 3:Then I started wybuild. I started a new project. Added the information for application name and company name. In "update information" I kept to version 1.0. For the "files & folders" I added the 2 files that I copied to the version1 folder in step 2 (myTestApp.exe and AutomaticUpdater.dll). In the "download sites" I added the location of the download folder where setup.exe will reside on my web host. [Here i didn't understand why I had to add %file% to the end of the string when I already know the file is called setup.exe]. Anyway, in "build wyUpdate & updates" I clicked on "build wyUpdate" only as this is my fist version and there are no updates. That generated two files: wyUpdate.exe and client.wyc. I saved the project and copied the 2 generated files to the version1 folder that I created in step 2. (so now that folder contains 4 files: myTestApp.exe, AutomaticUpdater.dll, wyUpdate.exe and client.wyc).
Step 4:Then I started Inno setup and created a setup.exe package that contained the four above mentioned files (all will be deployed to the same folder).
Step 5: I uploaded the resulting setup.exe to the download folder on my web site (the same folder I pointed to in wyBuild). I then proceeded to download the setup.exe from my web site and installed the application (but did not run it).
So far, so good. Nothing complicated. (although I don't know if what I did is right or not)
Step 6:I went back to visual studio and modified the background color of the form. I then edited the assembly information to state version 2.0.0.0. I built the project. And then copied the new myAppTest.exe and AutomaticUpdater.dll to the version2 folder that I created in step 2.
Step 7:I went back to wyBuild. I opened the myTestApp project and headed immidiately to the "update information" tab. There, I created version 2.0 and added the two files in the version2 folder as the new version files (as per the instructions in the video tutorial). I kept the "download sites" the same. In "build wyUpdate & updates" I clicked "Build wyUpdate". That, of course, generated two files like before. So I copies these two file to the version2 folder from step 2.
Step 8:There is no step 8 as I got lost now. I don't know how to proceed. Should I generate the setup.exe with only the 4 files that are in the version2 folder (myTestApp.exe, AutomaticUpdater.dll, wyUpdate.exe and client.wyc) or should I click also on "build updates" in wybuild? Clicking on "build updates" will generate 3 more files and I don't know what to do with them. Should I include them in setup.exe or build setup.exe with only the first 4 files, and then upload setup.exe and the 3 newly generated files (mytestapp.1.0.to.2.0.wyu , mytestapp.all.to.2.0.wyu and wyserver.wys) to the download folder on my web site?
From steps 1 to 7: have I done anything wrong or should I do things differently?At step 8: how should I proceed?
Please note that I haven't used "upload your updates" tab as I don't know wether I can add setup.exe to the uploads. So instead I used FileZilla.
Thank you so much for all your help and sorry for the very long post.
EDIT: I just ran the version 1 of myTestApp.exe (which I downloaded and installed in step 5) and it crashed when started.
EDIT2: I think the crash is due to me not using AutomaticUpdater.dll for .NET 4.0 framework as this is the .NET framework installed on my development machine.
We're writing up some simplistic instructions now (with pictures). We'll have them up by Monday.
Thanks for your response. I'll be looking forward for Monday's detailed/simplistic instructions.
However, I would like tinker with wyBuild during the weekend and would like to know the following:
1- For my intended scenario (deploying application using setup.exe), should I create the setup and then add that to wyBuild (temp folder as I understand from another post) or create wyUpdate first and add it to the setup package?
2- If setup is created first then how can I include wyUpdate in it?
3- Will AutomaticUpdater.dll (the one NOT in the .NET 4 folder) work on .NET 4?
Many thanks.
1- For my intended scenario (deploying application using setup.exe), should I create the setup and then add that to wyBuild (temp folder as I understand from another post) or create wyUpdate first and add it to the setup package?
You setup should be a completely separate entity from your wyBuild project. Let's say you have 2 versions (1.1 and 1.2). Lets say they each have 3 files:
You'll have a "1.1" folder with the 1.1 versions of those files. You'll also have a "1.2" folder with the 1.2 versions of those files.
Add the files from the 1.1 folder to a "1.1" version tab in wyBuild. Ditto for 1.2.
On the build screen in wyBuild you can select what version of your app you're building wyUpdate for (it's a dropdown above the Build wyUpdate button).
You can also build your updates on that page.
You should check out the video again. But, like I said, we'll be posting some clear instructions in a couple of days.
2- If setup is created first then how can I include wyUpdate in it?
Don't create the setup first. Building your setup should be one of the last steps in your workflow. (We'll address this in a similar help article being written this weekend).
3- Will AutomaticUpdater.dll (the one NOT in the .NET 4 folder) work on .NET 4?
Yes, but only if .NET framework 2.0 is installed on your users machine. Why would you want to do this? We have a version of the AutomaticUpdater that works flawlessly with the .NET framework 4.0. It has identical features to the .NET 2.0+ version of AutomaticUpdater.
thank you for your response.
As for points 1 and 2: ----------------------------As per my initial post, the instructions you provided are what I have actually done. The confusing part is towards the end of the process of creating the update of version two.
Please let me explain:
Version 1 folder contains: 1. YourApp.exe 2. AutomaticUpdater.dll 3. readme.txtI add these three to version 1 tab in wybuild. I then compile and build wyUpdate. 2 files are generated. So now I have 5 files which are: 1. YourApp.exe 2. AutomaticUpdater.dll 3. readme.txt 4. wyUpdate.com 5. client.wyc
I add these 5 to my setup project. Compile then deploy. Fine.
Version 2 comes along, and in version 2 folder I have: 1. YourApp.exe - version 2 2. AutomaticUpdater.dll - same 3. readme.txt - version 2I add these three to version 2 tab in wybuild. I then compile and build wyUpdate for version 2. Two files are generated. So now I have 5 files which are: 1. YourApp.exe - version 2 2. AutomaticUpdater.dll - same 3. readme.txt - version 2 4. wyUpdate.com - version 2 5. client.wyc - version 2I add these 5 to my setup project. compile then upload to server.
now what should I do?If I click on "Build Updates" 3 new files will be generated that I can upload to the same location on my server as "setup.exe - version 2" . now, when I click check for updates from inside version 1, the wyUpdate will contact one or all of these 3 generated files(yourapp.1.0.to.2.0.wyu , yourapp.all.to.2.0.wyu and wyserver.wys). But these files are not telling wyUpdate (when it communicates with them, that is) to look for and download setup.exe from the server (which is what I want). They are telling it to look for: 1. YourApp.exe - version 2 2. AutomaticUpdater.dll - same 3. readme.txt - version 2Which are inside setup.exe and not individually present on the update server.
This is where I am confused and require your help.
As for point 3: ------------------
The application will be deployed to different users that I have no control over their environment. They will have .Net 3, 3.5, or 4.0 installed. So, I can not package only AutomaticUpdater.dll for .Net 4 in my application. I would have liked to achieve the following scenario:[Inno Setup script, in pseudo code]:Check .net assembleIf below 4 and above 2 then install AutomaticUpdater.dll (the one NOT for .NET 4)If 4 then install AutomaticUpdater.dll (the one FOR .NET 4)
However, both files have the same name. So, it would be impossible for Inno setup (or any other installer compiler) to differentiate between them (they wouldn't even recognize them as two different files). That is why I asked you if AutomaticUpdater.dll will work in .Net 4 as well as others.
Thanks again for all your help.
i made it work.
It was a workaround really.
For each version, I created the setup first and included the setup.exe into the "files and folders" tab (temp folder).I then generated wyUpdate and client.wyc.Then repackaged my setup.exe to include wyUpdate and client.wyc.
Now when I use "build updates" it will check for setup.exe and not internal project files.
It worked. It is a workaround but it works.
Don't create the setup first. Building your setup should be one of the last steps in your workflow.
I'm sorry, but for my scenario to work i had to build my setup first to trick wyBuild and then rebuild the setup after the required files are generated.
Anyway, thanks again for all your help
Where can I download this easy step by step walk through which was mentioned in earlier posts. has this been created and if so whats the link? Wybuild looks great. I just cant wait to get it working.
Thanks
Alright, guys - we've just finished Step-by-step walkthrough to using wyBuild, the AutomaticUpdater, and wyUpdate.
Also, the workflow to releasing new updates.
Tell me if you still have any questions after reading those.
Sam,
I just wanted to comment that the step-by-step walk-through looks good. Having used wyUpdate in several products now, it's hard to read it "with the eyes of a beginner," but I think the main point that people were missing was that they needed to keep a "repository" of previous versions of their software (which is good practice anyway IMO).
Keep up the good work!
Thanks Sam for the links.
Very clear instructions indeed.