我正在尝试为简单的TEST创建一个非常简单的自定义操作,但是当我运行安装项目时它无法正常工作。 以下是安装程序类的代码。现在我只想显示一条简单的控制台消息,以确保代码正在执行。
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Linq;
namespace InstallerRemoveCM
{
[RunInstaller(true)]
public partial class InstallerRemoveCM : System.Configuration.Install.Installer
{
public InstallerRemoveCM()
{
InitializeComponent();
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
Console.Write("aasdasdasda1");
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
Console.Write("aasdasdasda2");
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
Console.Write("aasdasdasda3");
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
Console.Write("aasdasdasda4");
}
}
}
我尝试了CustomActionData中的所有内容:
/ target = [TARGETDIR]
/ target =“[TARGETDIR]”
/ target =“[TARGETDIR] \”
当CustomActionData为空时,安装运行直到结束,但不显示控制台消息。否则,如果CustomActionData具有前面提到的一些参数,则install抛出此消息:
初始化安装时出现错误1001异常
好的人,任何帮助都会很好 感谢。
答案 0 :(得分:0)
最后我改变了代码,目的是在安装过程之后删除一个目录(" C:\ Program Files(x86)\ .... \ cm")。现在提交部分看起来像这样:
...
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
var DirectorioInstalacao = Path.GetFullPath(Context.Parameters["targetdir"] + "/cm");
File.Delete(DirectorioInstalacao.ToString());
}
... CustomActionData具有:/ targetdir =" [TARGETDIR] \"
现在,"安装程序类"由安装项目执行,但出现另一个错误:
"错误1001.安装配置阶段发生异常。此异常将被忽略,安装将继续。但安装完成后,应用程序可能无法正常工作。访问路径" C:\ Program Files(x86)\ .... \ cm"被拒绝"
或类似的东西,因为我的操作系统是葡萄牙语。
拜托,有人知道如何解决这个问题吗?