Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Setting Version and Date Information - Syntax help needed.

Posted on 2006-07-21
13
Medium Priority
?
267 Views
Last Modified: 2012-06-27
Friends,

I have the following code:

Imports System.IO.FileInfo

Public Class VersionInformation
    Inherits System.Windows.Forms.Form


    Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click

    End Sub

    Private Sub VersionInformation_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim myAssemblyPath As String
        Dim a As Reflection.Assembly = _
        System.Reflection.Assembly.GetExecutingAssembly()
        myAssemblyPath = _
        a.Location.Substring(0, InStrRev(a.Location, "\"))

        Dim fileInfo = new FileInfo(Assembly.GetExecutingAssembly().Location ) <--------- I'm getting an error, Assembly - Expression expected

        lblVersion.Text= System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location) <--------- I'm getting an error, Assembly - Expression expected
        lblDate.text = <---------- What does I need to put here to get the Date Modified?
    End Sub
End Class

This code was given to me by another poster, but I'm not sure how to tie it all together, and I'm in a hurry for a response.

Thanks in advance!
Best Regards,
Eric
0
Comment
Question by:indy500fan
  • 6
  • 5
  • 2
13 Comments
 
LVL 24

Expert Comment

by:Justin_W
ID: 17155735
Assembly.GetExecutingAssembly().Location can return different types of values depending on whether the assembly is in the GAC or not, etc.

What is the actual value returned by "Assembly.GetExecutingAssembly().Location" when the error occurs?
0
 

Author Comment

by:indy500fan
ID: 17155748
??? I can't tell you that, because this won't even compile as it is.  By the way, what is GAC?
0
 
LVL 35

Expert Comment

by:YZlat
ID: 17155758

GAC is Global Assembly Cache. If more than one application on your machine is using the same component, you can palce that component to GAC
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 35

Expert Comment

by:YZlat
ID: 17155771

one of the benefits of doing that is that if you make a change to that component, you won't need to go into every application that uses the component and replace the local copy with an updated version. Using GAC saves you from "DLL Hell" we had in VB6
0
 

Author Comment

by:indy500fan
ID: 17155794
From what is described here: I don't think I have multiple apps using this component.  This all seems very complicated (compounded by my stupidity)

This form is a part of a simple exe.  Is there an easier way to find out the file version and date of the exe so that I can display them in an about form?
0
 
LVL 24

Accepted Solution

by:
Justin_W earned 2000 total points
ID: 17155810
Oh, a compilation error, not a runtime error.

Use this:

Imports System.IO
Imports System
Imports System.Reflection

Public Class VersionInformation
    Inherits System.Windows.Forms.Form

    Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click

    End Sub

    Private Sub VersionInformation_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim myAssemblyPath As String
        Dim a As Reflection.Assembly = _
        System.Reflection.Assembly.GetExecutingAssembly()
        myAssemblyPath = _
        a.Location.Substring(0, InStrRev(a.Location, "\"))

        Dim fi As System.IO.FileInfo = New FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location)

        lblVersion.Text = System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location)
        lblDate.text = fi.LastWriteTime.ToString()
    End Sub
End Class
0
 

Author Comment

by:indy500fan
ID: 17155848
Justin,

Yeah, sorry I didn't specify the type of error earlier.

It's now giving me another compliation error:

Value of type 'System.Diagnostics.FileVersionInfo' cannot be converted to 'String'.
0
 
LVL 24

Expert Comment

by:Justin_W
ID: 17155905
lblVersion.Text = System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).ToString()
0
 

Author Comment

by:indy500fan
ID: 17155934
Justin,

You have gotten me closer than anyone else today, but this code gives me The exact path to the exe, not the file version number?

Am I driving you nuts yet?

Thanks,
Eric
0
 

Author Comment

by:indy500fan
ID: 17155964
Ah, I just realized, it actually gave me all the information. I didn't have a lbl box that was "tall enough"

I'm going to ask in another question a way to limit it to just the version number.

Thanks for your help!
0
 
LVL 24

Expert Comment

by:Justin_W
ID: 17155971
Imports System.IO
Imports System
Imports System.Reflection

Public Class VersionInformation
    Inherits System.Windows.Forms.Form

    Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click

    End Sub

    Private Sub VersionInformation_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim myAssemblyPath As String
        Dim a As Reflection.Assembly = _
        System.Reflection.Assembly.GetExecutingAssembly()
        myAssemblyPath = _
        a.Location.Substring(0, InStrRev(a.Location, "\"))

        Dim fi As System.IO.FileInfo = New FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location)

        Dim loc As String = System.Reflection.Assembly.GetExecutingAssembly().Location
        lblVersion.Text = System.Diagnostics.FileVersionInfo.GetVersionInfo(loc).FileVersion
        lblDate.text = fi.LastWriteTime.ToString()
    End Sub
End Class
0
 

Author Comment

by:indy500fan
ID: 17155990
Dude,

You rock!

Thank you VERY MUCH!!!

Eric
0
 
LVL 24

Expert Comment

by:Justin_W
ID: 17155994
You're welcome!
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…
Screencast - Getting to Know the Pipeline
Suggested Courses

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question