This isn't a Visual Studio project. It's a single source file, that you can compile with the VBC.exe compiler. You need to invoke it with two arguments, the name of a zip file, and the name of a directory. It will unzip the zipfile into the specified directory, and display a progressbar while doing so.

'' qunzip.vb
'' ------------------------------------------------------------------
''
'' A simple app that unzips a file, showing a progress bar. 
'' It is both a console app, and a winforms app.
'' 
'' It correctly does the multi-threading to allow smooth UI update. 
'' 
'' compile it with:
''      c:\.net3.5\vbc.exe /t:exe /debug:full /optimize- /R:System.dll /R:System.Data.dll  /R:Ionic.Zip.dll
''                                /out:Qunzip.exe Qunzip.vb
'' 
'' built on host: DINOCH-2
'' Created Thu Aug 06 15:34:17 2009
''
'' last saved: 
'' Time-stamp: <2009-August-13 16:40:07>
'' ------------------------------------------------------------------
''
'' Copyright (c) 2009 by Dino Chiesa
'' All rights reserved!
''
'' Licensed under the Microsoft Public License.
'' see http://www.opensource.org/licenses/ms-pl.html
''
'' ------------------------------------------------------------------

Imports System
Imports System.Reflection
Imports System.Windows.Forms
Imports Ionic.Zip


'' to allow fast ngen
<assembly: AssemblyTitle("Qunzip.cs")>
<assembly: AssemblyDescription("quick winforms unzip tool")>
<assembly: AssemblyConfiguration("")>
<assembly: AssemblyCompany("Dino Chiesa")>
<assembly: AssemblyProduct("Tools")>
<assembly: AssemblyCopyright("Copyright © Dino Chiesa 2009")>
<assembly: AssemblyTrademark("")>
<assembly: AssemblyCulture("")>
<assembly: AssemblyVersion("1.1.1.1")>


Namespace Ionic.ToolsAndTests.VB

      Friend Class QuickUnzip
        ' Methods
        <System.Runtime.InteropServices.DllImport("kernel32.dll")> _
        Private Shared Function AllocConsole() As Boolean
        End Function

        <System.Runtime.InteropServices.DllImport("kernel32.dll")> _
        Private Shared Function AttachConsole(ByVal pid As Integer) As Boolean
        End Function

        <STAThread> _
        Public Shared Function Main(ByVal args As String()) As Integer
            If Not QuickUnzip.AttachConsole(-1) Then
                QuickUnzip.AllocConsole
            End If
            If (args.Length <> 2) Then
                Return QuickUnzip.Usage(args)
            Else
                Application.EnableVisualStyles
                Application.SetCompatibleTextRenderingDefault(False)
                Dim f As New QuickUnzipForm(args(0), args(1))
                Application.Run(f)
            End If
            Return 0 
        End Function

        Private Shared Function Usage(ByVal args As String()) as Integer
            Console.WriteLine("QuickUnzip.  Usage:  QuickUnzip <zipfile> <extractDirectory>")
            Return 1
        End Function

    End Class



    Public Class QuickUnzipForm
        Inherits Form
        ' Methods
        Public Sub New()
            Me.components = Nothing
            Me.InitializeComponent
        End Sub

        Public Sub New(ByVal zipfile As String, ByVal directory As String)
            Me.New()
            Me.zipfileName = zipfile
            Me.extractDirectory = directory
        End Sub

        Protected Overrides Sub Dispose(ByVal disposing As Boolean)
            If (disposing AndAlso (Not Me.components Is Nothing)) Then
                Me.components.Dispose
            End If
            MyBase.Dispose(disposing)
        End Sub

        Private Sub FixTitle()
            Me.Text = String.Format("Quick Unzip {0}", Me.zipfileName)
        End Sub

        Private Sub InitializeComponent()
            Me.components = New System.ComponentModel.Container
            Me.label1 = New Label
            Me.progressBar1 = New ProgressBar
            MyBase.SuspendLayout
            Me.label1.AutoSize = True
            Me.label1.Location = New System.Drawing.Point(12, 12)
            Me.label1.Name = "label1"
            Me.label1.Size = New System.Drawing.Size(50, 13)
            Me.label1.TabIndex = 2
            Me.label1.Text = "Progress"
            Me.progressBar1.Anchor = (AnchorStyles.Right Or (AnchorStyles.Left Or AnchorStyles.Top))
            Me.progressBar1.Location = New System.Drawing.Point(12, 36)
            Me.progressBar1.Name = "progressBar1"
            Me.progressBar1.Size = New System.Drawing.Size(436, 18)
            Me.progressBar1.Step = 1
            Me.progressBar1.TabIndex = 7
            MyBase.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
            MyBase.AutoScaleMode = AutoScaleMode.Font
            MyBase.ClientSize = New System.Drawing.Size(460, 80)
            MyBase.Controls.Add(Me.label1)
            MyBase.Controls.Add(Me.progressBar1)
            MyBase.Name = "QuickUnzipForm"
            Me.Text = "QuickUnzip"
            AddHandler MyBase.Load, New EventHandler(AddressOf Me.QuickUnzipForm_Load)
            AddHandler MyBase.Shown, New EventHandler(AddressOf Me.QuickUnzipForm_Shown)
            MyBase.ResumeLayout(False)
            MyBase.PerformLayout
        End Sub

        Public Sub OnTimerEvent(ByVal source As Object, ByVal e As EventArgs)
            MyBase.Close
        End Sub

        Private Sub QuickUnzipForm_Load(ByVal sender As Object, ByVal e As EventArgs)
            Me.FixTitle
        End Sub

        Private Sub QuickUnzipForm_Shown(ByVal sender As Object, ByVal e As EventArgs)
            '' For info on running long-running tasks in response to button clicks,
            '' in  VB.NET WinForms, see
            '' http://msdn.microsoft.com/en-us/library/ms951089.aspx
            Dim args(2) As String
            args(0) = Me.zipfileName
            args(1) = Me.extractDirectory
            Dim worker As System.Threading.Thread
            worker = New System.Threading.Thread(New System.Threading.ParameterizedThreadStart(AddressOf UnzipFile))
            worker.Start(args)
        End Sub
        
        Private Sub UnzipFile(ByVal args As String())
            Try 
                Using zip As ZipFile = ZipFile.Read(args(0))
                    Me.progressBar1.Maximum = zip.Entries.Count
                    Dim entry As ZipEntry
                    For Each entry In zip
                        UpdateUi(entry.FileName)
                        entry.Extract(args(1), ExtractExistingFileAction.OverwriteSilently)
                        '' Sleep a little because it's really fast
                        System.Threading.Thread.Sleep(20)
                    Next
                    UpdateUi(String.Format("Finished unzipping {0} entries", zip.Entries.Count))
                End Using
            Catch ex1 As Exception
                Me.label1.Text = ("Exception: " & ex1.ToString)
            End Try
            '' close the form (and application) 1000 ms after completion...
            Dim timer1 As New System.Timers.Timer(1000)
            timer1.Enabled = True
            timer1.AutoReset = False
            AddHandler timer1.Elapsed, New System.Timers.ElapsedEventHandler(AddressOf Me.OnTimerEvent)
        End Sub


        Private Sub UpdateUi(ByVal filename As String)
            If Me.InvokeRequired  Then
                '' invoke on the proper thread 
                Me.Invoke(New Action(Of String)(AddressOf UpdateUi),  New Object() { filename })
            Else
                Me.label1.Text = filename
                Me.progressBar1.PerformStep
                MyBase.Update
            End If            
        End Sub
        
        
        ' Fields
        Private extractDirectory As String
        Private zipfileName As String
        Private components As System.ComponentModel.IContainer
        Private label1 As Label
        Private progressBar1 As ProgressBar
    End Class

End Namespace