Cj *_*son 4 windows windows-installer visual-studio-2008 visual-studio
我似乎无法使用自定义操作.我可能做错了.这是我正在尝试做的事情:
我想在运行可执行文件的应用程序安装(Visual Studio Installer项目)中运行自定义操作.可执行文件只是执行一些system.io文件复制任务,并且我已经确认可执行文件单独运行时效果很好.
有什么想法吗?
目标系统:Windows XP,Vista Visual Studio版本:2008 Sp1语言:VB.NET目标框架:2.0
优秀.由于您发布的代码,我认为我越来越近了.我将它转换为VB,我收到此错误:无法找到myexename.savedstate.我想我应该把东西传给你发布的潜艇,但我不知道是什么.(顺便说一句,这是一个控制台应用程序)我添加了对System.Configuration.Install.dll的引用,这是我的代码:
Imports System.ComponentModel Imports System.Configuration.Install _ Public Class ApplicationInstaller Inherits Installer Public Overloads Overrides Sub Commit(ByVal savedState As IDictionary) ' Do some work on commit The_Sub_I_Want_To_Run() End Sub Public Overloads Overrides Sub Install(ByVal stateSaver As IDictionary) ' Do some work on install End Sub Public Overloads Overrides Sub Uninstall(ByVal savedState As IDictionary) ' Do some work on uninstall End Sub End Class
我没有打电话给那个.我之前从未使用过Installer类.我可能会在这里做一些非常新秀的事情.根据您的说明,我已经在我安装期间要运行的exe中添加了下面粘贴的代码.我将exe添加到我的应用程序文件夹,然后将其添加到Commit自定义操作中.现在这里是我现在在我尝试运行的exe源代码中的代码:
__CODE__
您要添加到Commit步骤的exe或库应包含一个派生自Installer的类,并使用RunInstaller属性标记,如下所示:
[RunInstaller(true)]
public class ApplicationInstaller : Installer
{
public override void Commit(IDictionary savedState) {
// Do some work on commit
}
public override void Install(IDictionary stateSaver) {
// Do some work on install
}
public override void Uninstall(IDictionary savedState) {
// Do some work on uninstall
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
归档时间: |
|
查看次数: |
10548 次 |
最近记录: |