Да, это возможно. MSDN списки несколько вариантов ; Однако может быть проще просто исправить файл MSI, созданный Visual Studio. Это можно сделать с помощью Orca (Установщик этого инструмента находится в папке Windows SDK, обычно в папке C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ Bin \ orca.msi).
Orca позволяет редактировать таблицы базы данных MSI. Чтобы скрыть кнопку отмены, вам нужно добавить запись в таблицу ControlCondition (от здесь ):
Dialog | Control | Action | Condition
------------------------------------------------------
ProgressForm | CancelButton | Hide | 1
Эта ручная задача добавления записи с использованием Orca, вероятно, лучше выполнить с помощью короткого VBScript, подобного этому:
Set oMsi = CreateObject("WindowsInstaller.Installer")
' get path to msi from command line
strMsiFullPath = Wscript.Arguments(0)
' open transacted
Set oDB = oMsi.OpenDatabase(strMsiFullPath , 1)
' insert a record into the [ControlCondition][3] table
Set oView = oDB.OpenView("INSERT INTO `ControlCondition` " & _
"(`ControlCondition`.`Dialog_`, `ControlCondition`.`Control_`," & _
"`ControlCondition`.`Action`, `ControlCondition`.`Condition`) " & _
"VALUES ('ProgressForm', 'CancelButton', 'Hide', '1')")
' clean up
oView.Execute: oView.Close: oDB.Commit
Set oMsi = Nothing
Этот сценарий можно добавить в качестве шага после сборки в ваш проект установки (обратите внимание, что в переменной Visual Studio для выходного пути есть опечатка):
cscript $(ProjectDir)patch.vbs $(BuiltOuputPath)