Visual Studio 2010でVisual Studio Installerプロジェクトを作成していますが、ウィザードの[製品名]セットアップウィザードの[テキスト]をクリックします。Visual Studioインストーラプロジェクトから "Welcome to the Setup Wizard"テキストを削除する方法
たとえば、次のスクリーンショットから「Setup1セットアップウィザードへようこそ」というテキストを削除するにはどうすればよいですか?
Visual Studio 2010でVisual Studio Installerプロジェクトを作成していますが、ウィザードの[製品名]セットアップウィザードの[テキスト]をクリックします。Visual Studioインストーラプロジェクトから "Welcome to the Setup Wizard"テキストを削除する方法
たとえば、次のスクリーンショットから「Setup1セットアップウィザードへようこそ」というテキストを削除するにはどうすればよいですか?
これは、Visual Studioのセットアッププロジェクトでサポートされていません。
解決策は、Orcaを使用してMSIを編集してコントロールテキストを変更することですが、各ビルド後に行う必要があります。このままにするか、別のセットアップオーサリングツールを使用して、インストールダイアログをカスタマイズすることができます。
[ようこそ]ダイアログボックスを削除してカスタムダイアログボックスに置き換えることで、テキストを削除することができます。 VS 2005 -
次に、「テキストボックス(A)」ダイアログを追加して(「開始」グループを右クリックしてダイアログを追加)、プロジェクトのテキストボックスの表示プロパティをfalseに設定します。テキストボックス(A)を「開始」シーケンスの先頭に移動します。
このダイアログのプロパティが含まれます:
BannerBitmap
BannerText
BodyText
これはこれで、あなたが(ある程度)は、ルック/フィールを制御できるようにする必要があります新しい "ようこそ"ページ。
メモ帳でプロジェクトファイルを変更してウェルカムテキストを簡単に変更できます。 (つまりproject1.vdproj)ProductNameまたはTitleを必ず変更してください。どのプロジェクトを正確に覚えておらず、プロジェクトを再構築することができず、すべて完了しました。
これは、私がオンラインで見つけたさまざまな他の結果からまとめたアプローチを変更することで実現しました。
ステップ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)"
Gonerダグセットアッププロジェクトのルートフォルダにremovebannertext.vbsとして以下を保存答えはうまくいく。
ただし、ProgressBar
BannerText
は削除されていません。私は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
一つの解決方法(セットアップの作成プロセスが長くない場合) - あなたが最初から設定を作成し、それがセットアップの名前の入力を求められたときに私のセットアップのように、その時点でその名前を変更する必要があります。
驚くばかりです。 :) – BinaryMee