How to remove "Welcome to the Setup Wizard" text from Visual Studio Installer project

You can "remove" the text by removing the Welcome dialog and replacing it with a custom dialog. In VS 2005 -

  1. Right click on the Setup project in the solution explorer
  2. Select View - User Interface
  3. Under the Start group for Install and Administrative Install delete "Welcome"

Then you can add a "Textboxes (A)" dialog (right click the "Start" group and select Add Dialog) to the project, set the visible property for the text boxes to false. Move the Textboxes (A) up to the top of the "Start" sequence.

The properties for this dialog include:

  • BannerBitmap
  • BannerText
  • BodyText

This should allow you to control the look / feel (to a certain extent) of this new "Welcome" page.


This is not supported by Visual Studio setup projects.

A solution would be to edit the MSI with Orca to modify the control text, but you would have to do it after each build. So you can either leave it this way or use another setup authoring tool which allows you to customize your installation dialogs.


I accomplished this by modifying an approach I've pieced together from various other results found online.

Step 1: Save the following as removebannertext.vbs in the setup project's root folder:

Option Explicit
If (Wscript.Arguments.Count < 1) Then
  Wscript.Echo "Windows Installer utility to execute SQL queries against an installer database." & vbCRLf & " The 1st argument specifies the path to the MSI database, relative or full path"
  Wscript.Quit 1
End If
Dim openMode : openMode = 1 'msiOpenDatabaseModeTransact
On Error Resume Next
Dim installer : Set installer = Wscript.CreateObject("WindowsInstaller.Installer") : CheckError
' Open database
Dim database : Set database = installer.OpenDatabase(Wscript.Arguments(0), openMode) : CheckError
Wscript.Echo "Removing all BannerText..."
Dim query
query = "UPDATE `Control` SET `Control`.`Attributes`=0 WHERE `Control`.`Control`='BannerText'"
Dim view : Set view = database.OpenView(query) : CheckError
view.Execute : CheckError
database.Commit
Wscript.Echo "Done."
Wscript.Quit 0
Sub CheckError
Dim message, errRec
If Err = 0 Then Exit Sub
message = Err.Source & " " & Hex(Err) & ": " & Err.Description
If Not installer Is Nothing Then
  Set errRec = installer.LastErrorRecord
  If Not errRec Is Nothing Then message = message & vbCRLf & errRec.FormatText
End If
Wscript.Echo message
Wscript.Quit 2
End Sub

Step 2: Set the project's PostBuildEvent property to this:

cscript.exe "$(ProjectDir)removebannertext.vbs" "$(BuiltOuputPath)"