我在Visual Studio 2010中有一個基本的安裝項目,而且我正在努力設置自定義操作。我在一個單獨的程序集中有3個安裝程序類。在安裝之前運行自定義動作
3班做以下事情:
- 檢查參數,以允許與授權信息無人值守安裝(覆蓋
Install
法) - 刪除先前安裝的軟件(與NSIS安裝安裝,使用
BeforeInstall
事件) - 停止程序,如果它正在運行,使用
BeforeInstall
事件
問題是最後一個,看起來BeforeInstall
事件從未觸發。我試圖讓它在磁盤上創建一個文件,並顯示一個MessageBox
。它從不觸發。
「SetupActions的主要輸出」已添加到「自定義操作」編輯器中的「安裝」部分。我的安裝程序類都有[RunInstaller(true)]
。
碼不起作用:
[RunInstaller(true)]
public partial class InstallerStopProgram : System.Configuration.Install.Installer
{
public InstallerStopProgram()
{
InitializeComponent();
}
private void InstallerStopProgram_BeforeInstall(object sender, InstallEventArgs e)
{
MessageBox.Show("This is never displayed during the install");
}
}
不幸的是我的項目有NSIS是繁瑣的在這裏解釋的問題。有什麼方法可以使用在安裝啓動之前運行的VS安裝程序來運行任何代碼? – 2011-01-14 10:52:19