Gotcha. Well, there are a couple of ways to tackle this. In either case, as mentioned above, you need to have a version table on the server that the client can test against. We use teh assembly version of the main EXE to determine the version.
On your server, you will also need to have the install stored in a database...or stored in a network folder location where all of the workstations can access it. In most cases, the database is the better and more secure route.
Example Structures
VersionTable
ver_pk - Integer (Primary Key)
ver_CurrentVersion - VarChar (Holds the current version that the client will test against)
ver_Posted - DateTime (Time stamp that indicates when the version was changed....this would be for display purposes only)
DownloadsTable
dl_pk - Integer (Primary Key)
dl_CurrentVersion - VarChar (Allows you to query by the version for the download)
dl_Install - VarBinary(MAX) (The installation in Byte() format)
Application Startup
When the application on the client side starts, check the version to see if there is an update.
Dim lcMyVersion As String = Reflection.Assembly.GetExecutingAssembly().Version.ToString()
Dim loVersions As New VersionsTableBO()
If Not lcMyVersion.Equals(loVersion.GetCurrentVersion()) Then
'-- Get the installation from the server
Dim loDownloads As New DownloadsTable()
'-- Retrieve the install
loDownloads.FillWithCurrentInstall(loVersion.GetCurrentVersion())
'-- Save the install to a temp folder
Dim lcTempLocation As String = System.IO.Path.GetTemporaryFile()
'-- Change the extension
lcTempLocation = System.IO.Path.ChangeExtension(lcTempLocation,".exe")
'-- Save the bytes to disk
System.IO.File.WriteAllBytes(lcTempLocation,loDownloads.dl_Install,True)
'-- Launch the install
System.Diagnostics.Process.Start(lcTempLocation)
'-- Terminate the client assembly
End
End If
Note: I just typed this code out here so there could be some minor things to work through, but it should give you the general idea. If I went in the wrong direction with your question, please let me know and I will try to give you some more details.