Existing users...

Hi,Visual Basic 6 I am trying to test the wyUpdate with a couple users to ensure all is working before I purchase.I have an update module of my own, that stores the wyUpdate.exe and the client.wyc into a resource filethen extracts them to the application folder... then runs the new wyUpdate.exe.I am testing on my machine at the moment and Have built the two files and all works here when I Double click the exe it searches finds the updates and all looks good.

I have just finished trying the update module for my existing users to install the 2 new files from the resource.The exe reported that it is not a valid win32 application when using the shellexecute method to run it, so I just opened up the application folder and sure enough the exe will not run. I need to be able to have my end users apply my patch exe that is coded into the older versions. At the moment the end users go to the help menu and select updates... that shells to the web and opens my update.exe that contains the files in the resource and performs the update. (this file currently holds the 2 wyUpdate files)

Is there any way to make this work?

The exe reported that it is not a valid win32 application when using the shellexecute method to run it, so I just opened up the application folder and sure enough the exe will not run.

Is .NET 2.0 or above installed on the customer's computer? If not you'll have to install that. What installer are you using to install your product? I can help you modify it to install .NET 2.0.

I am using Inno 5.4.2a for my setups and would appreciate any help. I have not started a new setup yet as I usually complete the update for existing users before I do a new setup. I am currently testing with only 3 users at the Beta level.

My problem now is the existing users who installed previous to using this update method.The update is huge as it contains over 250MB of data, that is why I needed to get an application to help update by only downloading and installing what they don't have rather than the entire new setup.

I had always just used an exe that I created that had the new exe and any other misc files added to a custom resource then "put" on the machine when it ran.I now have DB's in excess of 125MB so adding to a resource is no longer feasible, and takes up to much of my time coding for all the possibilities.Then I saw this application and thought it would save me alot of time. I still think it will no doubt about it.

Don

There's a good article with example code showing how to detect, download, and install the .NET framework from your Inno Setup script: .NET Framework 1.1/2.0/3.5 Installer for InnoSetup.

The update is huge as it contains over 250MB of data, that is why I needed to get an application to help update by only downloading and installing what they don't have rather than the entire new setup.

You can make a new dummy Inno Setup that just installs the .NET Framework 2.0 (using the article from above) and does nothing else.

Tell me if this helps.

I will check those out, but I still need to know if the wyUpdate can be stored into the resource file and extracted to the end users machine from my update.exe The reason is I would not know where they installed the application to. So I wouldn't know where to put the 2wyUpdate files even if I used a blank setup.

I am doing the following:Dim BbUpdate() As ByteDim MyUpdate As StringDim OriginalFile As StringScreen.MousePointer = vbHourglassProgressBar1.Max = 10ProgressBar1.Value = 0CreateTempFilenameDim datemod As Stringdatemod = Format(Date, " mm-dd-yyyy")ProgressBar1.Value = 2'Main program file update ######### Appended add new updatemylook = Dir(InstPath & "\wyUpdate.exe")If mylook <> "" Then mylook = Dir(InstPath & "\client.wyc")If mylook <> "" Then GoTo RunNewUpdate ' update already performed just launch the new exe

MyUpdate = InstPath & "\wyUpdate.exe" 'make a sequential file nameBbUpdate = LoadResData("101", "CUSTOM") 'load the raw bytes into an arrayLabel5 = "Updating Update Module... Please wait. "Label5.RefreshVar = FreeFile Open MyUpdate For Binary Access Write As Var 'open, put, and close the .exe file Put #Var, , BbUpdate Close #Varres = FileLen(MyUpdate)If res = 0 Then Kill MyUpdate: End 'failed to copy fileProgressBar1.Value = 5'End new update file updateMyUpdate = InstPath & "\client.wyc"BbUpdate = LoadResData("102", "CUSTOM") 'load the raw bytes into an arrayLabel5 = "Initiating New Update Module... Please wait. "Label5.RefreshVar = FreeFile Open MyUpdate For Binary As Var 'open, put, and close the .exe file Put #Var, , BbUpdate Close #VarProgressBar1.Value = 10RunNewUpdate:res = ShellExecute(Me.hWnd, "OPEN", InstPath & "\wyUpdate.exe", "", App.Path, 1)Unload Me

ThanksDon

I will check those out, but I still need to know if the wyUpdate can be stored into the resource file and extracted to the end users machine from my update.exe

Yes, so long as you don't modify the wyUpdate.exe and client.wyc files everything should work fine. Just extract them to your app's base directory.

So I wouldn't know where to put the 2wyUpdate files even if I used a blank setup.

The blank installer suggestion was just to install the .NET Framework 2.0. For instance, you could run the dummy installer you create (using the scripts in the article) and if .NET 2.0 is already installed then exit immediately. If it's not installed then the dummy installer will download and install .NET 2.0.

Could this be a limitation of the trial version? I just added the newly built files to the resource file and ran my update exe and it reports the extracted wyUpdate.exe as 0 bytes still.

ThanksDon

No, the trial version of wyBuild doesn't limit you embedding files in your app. wyUpdate.exe and client.wyc are just plain old files.

Are you sure these files are correctly embedded as resources?

I figured it out... My resource file was corrupt... I deleted it and created a new resource and all seems to works now.I am uploading for my final test and then will open the link to my beta testers.

Thanks for all your help.

Don

Thanks for all your help.

My pleasure. If you have any other questions feel free to ask.