David McAfee
davidmcafee at gmail.com
Tue Sep 7 12:47:40 CDT 2010
Jennifer, another thing you can do is launch a batch file or some
other type of file.
I wrote a little VB.Net "launcher" that I use. I compile it one time
and create a text file (renamed to *.ini)
that contains two lines:
LatestVersion:PS_010.adp
DeleteVersion:PS_00*.adp
When I "release" a new versionof the FE, I simply copy the ADP (or
MDB, ACCDB) to the network, rename the file and increment the first
line in the ini file by one.
I like to leave the previous version incase I make a mistake and want
to quickly resort back to the old version. If I decided to delete a
block of old FE's still on the users system,
I put an asterisk in the "Delete" line (the example above will delete
PS_001.adp to PS_009.adp, if they exist on the users PC)
The compiled exe is copied to the users' desktop and they double click
it to launch the file.
The app starts, checks if the latest version already exists on the
users' PC. If it does, it launches it, if not it copies it over and
launches it.
Very simple. (a batch file can do the same, but this was a neat fun
.net project for me to write)
David
Imports System.IO
Imports System.Environment
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim OldVersion As String = "" 'Don't update this string here,
they are populated by the ini file
Dim NewVersion As String = "" 'Don't update this string here,
they are populated by the ini file
Dim iniFile As String = "PS.ini"
Dim NetPath As String = "\\fs1\MOCapps$\PS\"
Dim LocPath As String =
System.Environment.GetFolderPath(SpecialFolder.LocalApplicationData).ToString
+ "\Moc\PS\"
Debug.Print(LocPath)
UpDateCaption("Reading ini")
Dim oRead As System.IO.StreamReader
Dim LineIn As String
oRead = File.OpenText((NetPath + iniFile))
While (oRead.Peek <> -1)
LineIn = oRead.ReadLine
If (LineIn.Substring(0, 14) = "LatestVersion:") Then
NewVersion = LineIn.Substring((LineIn.Length -
(LineIn.Length - 14)))
ElseIf (LineIn.Substring(0, 14) = "DeleteVersion:") Then
OldVersion = LineIn.Substring((LineIn.Length -
(LineIn.Length - 14)))
' Delete the previous version
' If File.Exists(LocPath + OldVersion) Then
' File.Delete(LocPath + OldVersion)
' End If
Else
LineIn = ""
End If
End While
oRead.Close()
If Directory.Exists(NetPath) Then ' If the network path
exists, continue with the local path checks
If Directory.Exists(LocPath) Then ' if the local path
exists then check for the actual file
If Not File.Exists((LocPath + NewVersion)) Then '
Check to see if the new file is already installed
UpDateCaption("Copying ")
File.Copy((NetPath + NewVersion), (LocPath +
NewVersion)) ' If NOT, copy the file :)
End If
Else ' Directory did not exist, so create it and copy new file over
Directory.CreateDirectory(LocPath)
File.Copy((NetPath + NewVersion), (LocPath + NewVersion))
End If ' If the new file exists on local computer, start
the new version on the local PC
If File.Exists((LocPath + NewVersion)) Then
UpDateCaption("Starting application")
System.Diagnostics.Process.Start((LocPath + NewVersion))
Else
MessageBox.Show(("Cannot find " + (LocPath +
(NewVersion + "."))), "unable to start PS")
End If
' Delete the previous version
' If File.Exists(LocPath + OldVersion) Then
' File.Delete(LocPath + OldVersion)
' End If
For Each FileFound As String In
Directory.GetFiles(LocPath, OldVersion)
File.Delete(FileFound)
Next
Else
' The network path was unavailable, so alert the user
MessageBox.Show(("Network path: " + (NetPath + " is
unavailable")), "Unable to start Pull Sheet Database")
End If
UpDateCaption("")
Application.Exit()
End Sub
Private Sub UpDateCaption(ByVal strCaption As String)
lblStatus.Text = strCaption
System.Windows.Forms.Application.DoEvents()
End Sub
End Class
On Tue, Sep 7, 2010 at 8:44 AM, Jennifer Gross <jengross at gte.net> wrote:
> It has been suggested to me to use Replication to keep the FE version up to
> date. I have never used replication for data and didn't even consider it
> for the FE/code side of things. Does anyone have any experience with
> Replication as the means of propagating changes to the FE?
>
>
>
> Jennifer Gross
>
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>