[AccessD] Automatic Update Function
David McAfee
davidmcafee at gmail.com
Tue Mar 10 11:53:02 CDT 2015
I didn't see the VB script that was provided.
The two are different languages.
It's kind of like comparing Javascript to Java.
VB script isn't a software that you install, like javascript it is a script
that you write in something like notepad, it isn't compiled.
VB.Net will require Visual Studio to compile the code into an executable
that you can run.
D
On Tue, Mar 10, 2015 at 7:24 AM, Janet Erbach <jerbach.db at gmail.com> wrote:
> David -
>
> I'm re-visiting your code because I'm having some problems with the vb
> script I downloaded from ThatllDoIt.com. I know VERY little about vb - I
> can understand the code, but that's about it. Your script is VB.Net - what
> is the difference between that and a vbs script?
>
> Thanks.
>
> Janet
>
> On Tue, Mar 3, 2015 at 12:31 PM, David McAfee <davidmcafee at gmail.com>
> wrote:
>
> > Here's the old, VB.net version that I used for years (I also have a C#
> > version if you prefer that)
> >
> > I basically name an .mdb/.adp something like MyDatabase126.mdb
> > I create a text file and save it as the appName.ini (not .txt)
> >
> > I create two lines in the ini file:
> >
> > LatestVersion:MyDatabase126.mdb
> > DeleteVersion:MyDatabase11*.mdb
> >
> >
> > They launch the exe, which cecks to see if they already have the latest
> > version on their computer, if not, copy it over.
> > I use the wild card * on the delete version (rather than
> MyDatabase125.mdb)
> > because a user might be out for a week or two and maybe you had several
> > versions released.
> >
> > If you always want to copy the file over rather than check if the file is
> > different, comment the third IF statement.
> >
> > It makes it real nice at work to deploy an adp/mdb to a user, even a new
> > user.
> > Just copy the .exe to their desktop and let them run it.
> >
> > It also keeps the honest people honest. They are launching an exe, not an
> > mdb, so there isn't an mdb they can copy.
> > If you have an icon for the exe, a splash screen for the mdb and do the
> > shift start prevention, they might not even know that they are running an
> > access mdb.
> > It copies the mdb over to their local app data folder, so unless they
> know
> > where to look, they won't find it.
> > As long as they have rights to the shared folder and don't have to have
> it
> > mapped, they wont know where the source files are.
> > They would need to have Access already installed.
> >
> > Anyway, here is my launcher:
> >
> >
> >
> >
> > Imports System.IO
> > Imports System.Environment
> >
> > Module Module1
> > Sub Main()
> > Dim OldVersion As String = ""
> > Dim NewVersion As String = ""
> > Dim AppName As String = ""
> > Dim NetPath As String =
> > "\\YourServerNameHere\YourSharedFolderHere$\" + AppName + "\"
> > Dim iniFileName As String = AppName + ".ini"
> > Dim LocPath As String =
> >
> >
> System.Environment.GetFolderPath(SpecialFolder.LocalApplicationData).ToString
> > + "\YourCompanyNameHere\" + AppName + "\"
> > 'Open ini file and read it, to get new version name:
> > Dim oRead As System.IO.StreamReader
> > Dim LineIn As String
> > oRead = File.OpenText(NetPath + iniFileName)
> > While oRead.Peek <> -1
> > LineIn = oRead.ReadLine()
> > If Left(LineIn, 14) = "LatestVersion:" Then
> > NewVersion = Right(LineIn, LineIn.Length - 14)
> > ElseIf Left(LineIn, 14) = "DeleteVersion:" Then
> > OldVersion = Right(LineIn, LineIn.Length - 14)
> > 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
> > 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
> > 'The IF statement is just added security, there really
> > shouldn't be a reason for it not to exist at this point
> > If File.Exists(LocPath + NewVersion) Then
> > System.Diagnostics.Process.Start(LocPath + NewVersion)
> > 'Start the file
> >
> > If OldVersion <> "" Then 'Delete old file(s)
> > For Each FileFound As String In
> > Directory.GetFiles(LocPath, OldVersion)
> > File.Delete(FileFound)
> > Next
> > End If
> > Else
> > 'If not found, alert the user
> > MsgBox("Cannot find " & LocPath & NewVersion & ".",
> > vbOKOnly, "unable to start " + AppName)
> > End If
> >
> >
> > Else 'The network path was unavailable, so alert the user
> > MsgBox("Network path: " + NetPath + " is unavailable", ,
> > "Unable to start " + AppName)
> > End If
> > End Sub
> > End Module
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
More information about the AccessD
mailing list