We can't reproduce this behavior. Can you reproduce this in a simple test project? Send it to support@wyday.com.
Also, check your Program.cs file. Are you using "Application.Run(...)"? You should be. Don't use Form.Show() or any other such method.
I have a problem with one of my applications using automatic update.
The application detects the new version and downloads it. When I then restart the application to install the update, nothing happens. I can see in my task manager that my application starts, wyupdate.exe starts for a split second stops and is replace by InstantUpdate.exe. From then on nothing happens, and my application doesnt start. It seems that it gets caught in automaticUpdater.Closingforinstall. When I run the Wyupdate.exe by itself, my application is updated just fine.I have other test applications where it is working just fine.I am using version 2.6.10.0.
We can't reproduce this behavior. Can you reproduce this in a simple test project? Send it to support@wyday.com.
Also, check your Program.cs file. Are you using "Application.Run(...)"? You should be. Don't use Form.Show() or any other such method.
Hi i have some basic queries
i had a application with many forms and dlls(every module is a dll -used in main application by obj.show())(in vb.net application how can we use Application.Run for accesing dll)
Application.Run() "Begins running a standard application message loop on the current thread." In other words, your main form should be started from the Program.cs (or Program.vb) file using Application.Run(). Any other forms can be started using Form.Show().
Hi,
I have a problem with the same symptoms as Kasper. I'll provide more details to help fix you it.
I have old clients running wyUpdate 2.6.8
We recently upgraded to wyUpdate 2.6.10 created an update to our program, including wyUpdate.exe and AutomaticUpdater.dll in it.
We see the same problem. An exe called "InstantUpdate.exe" runs. This seems to be wyUpdate.exe 2.6.10
Our application hangs while trying to update.
It runs from this folder, which it makes."C:\Documents and Settings\user\wc\2\selfupdate\base\InstantUpdate.exe"
If you kill and rerun this .exe you get an error box saying:"The client data file failed to load. The .wyc file may be corrupt.
The client data file failed to open.
Full details:
Could not find file 'C:\Documents and Settings\user\wc\2\selfupdate\base\iuclient.iuc'."
We have a .cs .exe running Application.Run(), no fancy tricks.
Can you reproduce this? If so, can you also send us a copy of your app with instructions on how to reproduce it. Send it to support@wyday.com
In other words, your main form should be started from the Program.cs (or Program.vb) file using Application.Run(). Any other forms can be started using Form.Show().
Within Program.cs I am actually showing my main form with mainForm.Show(), which i need to do, because having shown it i'm calling/setting some methods/properties (which require it to already be visible), before i hit Application.Run().
Sam, are you saying that we can't show our main form with mainForm.Show() and use wyUpdate? What's the reason?
We're going to allow programs to use the AutomaticUpdater even when they're not using Application.Run(). This will be supported in 2.6.11. The AutomaticUpdater will see your app as a console app because it lacks the application message loop that all valid Windows apps have.
That being said, Application.Run() starts the application message loop for the application. This is critical for the AutomaticUpdater because it depends on message loop functionality (exiting your app, detecting when all other forms have closed, etc, etc.).
In the meantime, see Application.Run Method (ApplicationContext) for making your app a valid Windows app.
The problem occurs when 2.6.8 or wyUpdate.exe calls 2.6.10 of the dll.
Also. what is InstantUpdate.exe? Is this the new name for wyUpdate.exe? The .NET component refers to a specific .exe name. Is this change handled automatically, or do we need to change our code?
The problem occurs when 2.6.8 or wyUpdate.exe calls 2.6.10 of the dll.
I still can't reproduce this -- send me an example project that reproduces this problem. Send it to support@wyday.com.
Also. what is InstantUpdate.exe? Is this the new name for wyUpdate.exe? The .NET component refers to a specific .exe name. Is this change handled automatically, or do we need to change our code?
You don't need to change anything. InstantUpdate.exe is just the old name of wyUpdate. We changed it in wyBuild 1.0 RC. It automatically renames itself to whatever your copy of wyUpdate is named as.
Hi,
Thanks for your quick reply. It will take a week until I (hopefully) get the permission to send you the installs.
Regarding InstantUpdate.exe, we never used RC 1.0 of wyBuild, we only started with 2.6.8. Could it be from some other product on a user's machine that used this, or is it a reversion in you code?
-Thanks
That's what the new version of wyUpdate.exe is named on disk before it self-updates. It's not a problem. It's part of the self-update process.
I debugged this problem and found that when the WyUpdate application is launched, the code checks for any existing instances of the application. To do this, it is calling the Mutex.WaitOne() method with a wait Timespan as 0. It is this line of code which was failing and when I changed the wait Timespan from 0 to 1 second, the WyUpdate application starts fine.
Make following change in the Program.cs file of the WyUpdate source.Change if (mutex.WaitOne(Timespan.Zero, true)) //Line 40 in Program.csTo if (mutex.WaitOne(1000, true))