首页 > 解决方案 > windows 安装程序无法访问目录

问题描述

我正在尝试使用 Windows 服务安装程序为 Windows 服务(该服务是 LocalSystem 帐户)运行一些自定义操作代码,我收到以下错误消息:

安装 MSI 时出现错误消息:

Error 1001. An Exception occurred in the OnAfterInstall event handler
of System.ServiceProcess.ServiceInstaller. --> Access to the path XXX
is denied. 

此代码引发错误:

protected override void OnAfterInstall(IDictionary savedState)
{
      string path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
      System.IO.File.WriteAllText(path, "test");
}

在我试图访问服务 .exe 目录的代码中,我可以删除在那里创建的文件

我的目标是为安装/卸载过程进行自定义操作。我想删除安装后创建的文件,如日志和配置文件。

谢谢

标签: c#servicewindows-installer

解决方案


您正在尝试将文本写入目录而不是文件。变量“path”从 Path.GetDirectoryName() 返回,它是一个目录。在下一行中,您尝试对此变量执行 File.WriteAllText(),因此出现错误。


推荐阅读