Visual studio 2010 如何删除“;欢迎使用“安装向导”;来自VisualStudio安装程序项目的文本
我有一个在Visual Studio 2010中制作的Visual Studio安装程序项目,无法确定如何从向导对话框中删除“欢迎使用[Product Name]安装向导”文本 例如:如何从下面的屏幕截图中删除文本“欢迎使用Setup1安装向导”Visual studio 2010 如何删除“;欢迎使用“安装向导”;来自VisualStudio安装程序项目的文本,visual-studio-2010,installation,setup-project,Visual Studio 2010,Installation,Setup Project,我有一个在Visual Studio 2010中制作的Visual Studio安装程序项目,无法确定如何从向导对话框中删除“欢迎使用[Product Name]安装向导”文本 例如:如何从下面的屏幕截图中删除文本“欢迎使用Setup1安装向导” Visual Studio安装项目不支持此操作 一个解决方案是使用Orca编辑MSI来修改控件文本,但您必须在每次构建之后进行修改。因此,您可以不使用这种方式,也可以使用另一个安装编写工具来自定义安装对话框。您可以通过删除欢迎对话框并将其替换为自定义对
Visual Studio安装项目不支持此操作 一个解决方案是使用Orca编辑MSI来修改控件文本,但您必须在每次构建之后进行修改。因此,您可以不使用这种方式,也可以使用另一个安装编写工具来自定义安装对话框。您可以通过删除欢迎对话框并将其替换为自定义对话框来“删除”文本。在VS 2005中-
BannerBitmap
BannerText
BodyText
这将允许您控制这个新“欢迎”页面的外观(在一定程度上)。您可以通过修改记事本中的项目文件轻松更改欢迎文本。(即project1.vdproj)请确保更改产品名称或标题。我记不清到底是哪一个,然后重建项目,你们都完成了。我通过修改一种方法完成了这一点,我从网上找到的各种其他结果拼凑而成 步骤1:将以下内容保存为安装项目根文件夹中的removebannertext.vbs:
选项显式
如果(Wscript.Arguments.Count<1),则
Wscript.Echo“用于对安装程序数据库执行SQL查询的Windows Installer实用程序”。&vbCRLf&“第一个参数指定MSI数据库的相对路径或完整路径”
Wscript.Quit 1
如果结束
Dim openMode:openMode=1'MSOpenDatabaseModeTransact
出错时继续下一步
Dim installer:Set installer=Wscript.CreateObject(“WindowsInstaller.installer”):检查错误
"开放数据库",
Dim数据库:Set database=installer.OpenDatabase(Wscript.Arguments(0),openMode):检查错误
Echo“删除所有BannerText…”
模糊查询
query=“UPDATE`Control`SET`Control`.`Attributes`=0,其中`Control`.`Control`='BannerText'”
Dim视图:设置视图=数据库。OpenView(查询):检查错误
view.Execute:CheckError
提交数据库
Echo“完成”
Wscript.0退出
子校验错误
暗消息,errRec
如果Err=0,则退出Sub
message=Err.Source&“&Hex(Err)&”:“&Err.Description
如果不是,那么安装程序什么都不是
设置errRec=installer.LastErrorRecord
如果Not errRec为Nothing,则message=message&vbCRLf&errRec.FormatText
如果结束
Echo消息
Wscript.Quit 2
端接头
步骤2:将项目的PostBuildEvent属性设置为:
cscript.exe "$(ProjectDir)removebannertext.vbs" "$(BuiltOuputPath)"
Goner Doug的回答很好 但是
ProgressBar
BannerText
没有被删除。我想与其删除Goner Doug建议的BannerText
控件中的属性值,不如清空BannerText
字符串,这样可能会更好。我们也可以通过同样的操作删除ProgressBar
窗口的标题文本。请注意,删除属性值不适用于ProgressBar
bannner文本
在Goner Doug的回答中,
将查询替换为
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
选项显式
如果(Wscript.Arguments.Count<1),则
Wscript.Echo“用于对安装程序数据库执行SQL查询的Windows Installer实用程序”。&vbCRLf&“第一个参数指定MSI数据库的相对路径或完整路径”
Wscript.Quit 1
如果结束
Dim openMode:openMode=1'MSOpenDatabaseModeTransact
出错时继续下一步
Dim installer:Set installer=Wscript.CreateObject(“WindowsInstaller.installer”):检查错误
"开放数据库",
Dim数据库:Set database=installer.OpenDatabase(Wscript.Arguments(0),openMode):检查错误
Echo“删除所有BannerText…”
模糊查询
query=“更新`Control`SET`Control`.`Text`=''其中`Control`.`Control`='installedbanentext'或`Control`.`Control`='banentext'或`Control`.`Control`='removebanentext''
Dim视图:设置视图=数据库。OpenView(查询):检查错误
view.Execute:CheckError
提交数据库
Echo“完成”
Wscript.0退出
子校验错误
暗消息,errRec
如果Err=0,则退出Sub
message=Err.Source&“&Hex(Err)&”:“&Err.Description
如果不是,那么安装程序什么都不是
设置errRec=installer.LastErrorRecord
如果Not errRec为Nothing,则message=message&vbCRLf&errRec.FormatText
如果结束
Echo消息
Wscript.Quit 2
端接头
一种解决方案(如果您的设置创建过程不长)-您必须从头开始创建设置,并在提示输入设置名称时将其重命名为“我的设置”。请详细说明。显示的横幅文本不会显示在文件中。[ProductName]在文件中显示为占位符。文件必须如何更改?您能帮我使用此脚本更新BannerText
名称吗?另外,我想在欢迎对话框中更新BannerText
,其他对话框未更新,但当前所有对话框都已更新,请建议?