我为 C# windows 服务编写了一个 x64 windows 安装程序。Windows 服务本身以任何 CPU 为目标。它将服务正确安装到“程序文件”。但是,卸载时,我需要删除日志目录。但是当我尝试使用 Environment 获取“程序文件”的路径时,它返回“程序文件(x86)”,因此无法找到日志目录并将其删除。我该如何解决这个问题。代码在 ProjectInstaller 类中运行,如下所示
try
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\PathToLogsFolder";
logger.Info(path);
//The above line always shows Program Files (x86) instead of "Program Files"
if (Directory.Exists(path))
{
Directory.Delete(path, true);
}
else
{
logger.Info("Path does not exist:"+path);
}
}
catch (Exception e)
{
logger.Error("Failed to delete Logs directory on uninstall:" + e.Message);
logger.Error(e.StackTrace);
}