Windows installer 作为vdproj中的最后一步重新启动,如何添加它?
如何将重新启动操作添加到vdprojWindows installer 作为vdproj中的最后一步重新启动,如何添加它?,windows-installer,vdproj,Windows Installer,Vdproj,如何将重新启动操作添加到vdproj 我需要一个文件,可以在安装结束时重新启动电脑。如果需要重新启动,Windows Installer应该自动检测到它。如果由于懒得手动启动服务而想重新启动,则需要找到其他方法(我不知道任何简单的方法)。只需添加值为“Force”的“reboot”属性,该属性将在安装完成后提示用户重新启动,或者在没有用户界面时自动重新启动 如果无法在vdjproj中执行此操作,则在构建安装程序后,只需使用Orca编辑MSI的属性表 如果要强制重新启动,可以将reboot=for
我需要一个文件,可以在安装结束时重新启动电脑。如果需要重新启动,Windows Installer应该自动检测到它。如果由于懒得手动启动服务而想重新启动,则需要找到其他方法(我不知道任何简单的方法)。只需添加值为“Force”的“reboot”属性,该属性将在安装完成后提示用户重新启动,或者在没有用户界面时自动重新启动 如果无法在vdjproj中执行此操作,则在构建安装程序后,只需使用Orca编辑MSI的属性表 如果要强制重新启动,可以将reboot=force和REBOOTPROMPT=Suppress设置为不提示用户 或者,您可以使用
ForceReboot
操作在安装过程中重新启动,或ScheduleReboot
在安装完成后计划重新启动。同样,如果您不能在vdjproj中添加这些操作,则可以使用Orca添加这些操作
您可以使用以下VBS执行类似操作
Dim installer, database, view, result
Set installer = CreateObject("WindowsInstaller.Installer")
Set database = installer.OpenDatabase ("setup.msi", 1)
Set view = database.OpenView ("INSERT INTO Property (Property, Value) VALUES ('REBOOT', 'Force')")
view.Execute
database.Commit
Set database = nothing
这是我基于的解决方案 要在每次生成安装程序时自动修改.msi以提示重新启动,请执行以下操作:
cscript“$(ProjectDir)AddRebootPrompt.vbs”“$(BuiltoputPath)”
AddRebootPrompt.vbs内容:
Dim installer, database, view, result
Dim strPathMsi
If WScript.Arguments.Count <> 1 Then
WScript.Echo "Usage: cscript AddRebootPrompt.vbs <path to MSI>"
WScript.Quit -1
End If
strPathMsi = WScript.Arguments(0)
Set installer = CreateObject("WindowsInstaller.Installer")
Set database = installer.OpenDatabase (strPathMsi, 1)
Set view = database.OpenView ("INSERT INTO Property (Property, Value) VALUES ('REBOOT', 'Force')")
WScript.Echo "Adding forced reboot prompt to install sequence."
view.Execute
database.Commit
WScript.Quit 0
Dim安装程序、数据库、视图、结果
暗strPathMsi
如果WScript.Arguments.Count为1,则
Echo“用法:cscript AddRebootPrompt.vbs”
WScript.Quit-1
如果结束
strPathMsi=WScript.Arguments(0)
设置installer=CreateObject(“WindowsInstaller.installer”)
Set database=installer.OpenDatabase(strPathMsi,1)
Set view=database.OpenView(“插入属性(属性,值)值('REBOOT','Force')”)
Echo“添加强制重新启动提示以安装序列。”
查看。执行
提交数据库
WScript.0退出
如果成功,您将在生成安装程序项目时在生成输出日志窗口中看到“添加强制重新启动提示以安装序列”。在我的情况下,Windows installer不会自动检测到它。谢谢。如何通过Visual Studio 2008将ForceReboot操作添加到vdproj?什么是Orca?Orca是Windows Installer SDK附带的工具之一。我不熟悉Visual Studio(我只处理MSI,不编写代码),因此无法帮助您。对不起,有没有简单的方法可以在Visual Studio后期生成事件中自动添加属性?(所以我需要一个命令行)