2011-09-01 16 views
5

Visual Studio 2010でVisual Studio Installerプロジェクトを作成していますが、ウィザードの[製品名]セットアップウィザードの[テキスト]をクリックします。Visual Studioインストーラプロジェクトから "Welcome to the Setup Wizard"テキストを削除する方法

たとえば、次のスクリーンショットから「Setup1セットアップウィザードへようこそ」というテキストを削除するにはどうすればよいですか?

enter image description here

答えて

6

これは、Visual Studioのセットアッププロジェクトでサポートされていません。

解決策は、Orcaを使用してMSIを編集してコントロールテキストを変更することですが、各ビルド後に行う必要があります。このままにするか、別のセットアップオーサリングツールを使用して、インストールダイアログをカスタマイズすることができます。

7

[ようこそ]ダイアログボックスを削除してカスタムダイアログボックスに置き換えることで、テキストを削除することができます。 VS 2005 -

    ソリューションエクスプローラ
  1. [表示]でセットアッププロジェクトに
  2. 右クリック - インストールと管理が削除インストールするためのユーザーインターフェイス
  3. スタート]グループで「ようこそ」

次に、「テキストボックス(A)」ダイアログを追加して(「開始」グループを右クリックしてダイアログを追加)、プロジェクトのテキストボックスの表示プロパティをfalseに設定します。テキストボックス(A)を「開始」シーケンスの先頭に移動します。

このダイアログのプロパティが含まれます:

  • BannerBitmap
  • BannerText
  • BodyText

これはこれで、あなたが(ある程度)は、ルック/フィールを制御できるようにする必要があります新しい "ようこそ"ページ。

1

メモ帳でプロジェクトファイルを変更してウェルカムテキストを簡単に変更できます。 (つまりproject1.vdproj)ProductNameまたはTitleを必ず変更してください。どのプロジェクトを正確に覚えておらず、プロジェクトを再構築することができず、すべて完了しました。

3

これは、私がオンラインで見つけたさまざまな他の結果からまとめたアプローチを変更することで実現しました。

ステップ1:

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 

ステップ2:これにプロジェクトのPostBuildEventプロパティを設定します。

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

驚くばかりです。 :) – BinaryMee

2

Gonerダグセットアッププロジェクトのルートフォルダにremovebannertext.vbsとして以下を保存答えはうまくいく。

ただし、ProgressBarBannerTextは削除されていません。私はBannnerTextコントロールの属性値を削除するのではなく、Goner Dougによって提案されたコントロールだと思います。BannerText文字列を空にすると良いかもしれません。同じようにすることで、ProgressBarウィンドウのバナーテキストを削除することもできます。属性値を削除すると、ProgressBarバナーテキストが機能しないことに注意してください。 Gonerダグの答えで

、 はquery

として
query = "UPDATE `Control` SET `Control`.`Text`='' WHERE `Control`.`Control`='InstalledBannerText' OR `Control`.`Control`='BannerText' OR `Control`.`Control`='RemoveBannerText'" 

を置き換えるこれはあまりにもプログレスバーウィンドウ内のバナーテキストを削除します。

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`.`Text`='' WHERE `Control`.`Control`='InstalledBannerText' OR `Control`.`Control`='BannerText' OR `Control`.`Control`='RemoveBannerText'" 
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 
1

一つの解決方法(セットアップの作成プロセスが長くない場合) - あなたが最初から設定を作成し、それがセットアップの名前の入力を求められたときに私のセットアップのように、その時点でその名前を変更する必要があります。

関連する問題