本文整理汇总了C#中Microsoft.Deployment.WindowsInstaller.Session.GetService方法的典型用法代码示例。如果您正苦于以下问题:C# Session.GetService方法的具体用法?C# Session.GetService怎么用?C# Session.GetService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Deployment.WindowsInstaller.Session
的用法示例。
在下文中一共展示了Session.GetService方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteActionNameToLog
internal static void WriteActionNameToLog(Session session, string className)
{
// Записываем в файл, если он существует.
string logFileName = Path.Combine(Path.GetTempPath(), "STInstallLogger.log");
if (!File.Exists(logFileName))
return;
System.Text.StringBuilder builder = new System.Text.StringBuilder();
if (!sessionIsInitialized)
{
sessionIsInitialized = true;
builder.AppendLine("#New Session");
if (!session.GetMode(InstallRunMode.Scheduled) && !session.GetMode(InstallRunMode.Rollback))
{
builder.AppendLine("Current Install Status: " + session.GetService<ISessionCurrentInstallStatusExtension>().GetStatus());
builder.AppendLine("#Variables");
string[] variables = new string[] { "Installed", "PATCH", "REMOVE", "REINSTALL",
"UPGRADINGPRODUCTCODE", "ACTION", "ADDLOCAL",
"REINSTALLMODE", "Preselected", "RESUME" };
foreach (string state in variables)
builder.AppendLine(string.Format(@"{0}=""{1}""", state, session[state]));
}
builder.AppendLine("#InstallRunMode");
foreach (var e in Enum.GetValues(typeof(InstallRunMode)))
{
builder.AppendLine(string.Format(@"{0}=""{1}""", e.ToString(), session.GetMode((InstallRunMode)e)));
}
builder.AppendLine();
}
builder.AppendLine(string.Format("{0} Action: {1}, Class: {2}", DateTime.Now, GetActionName(), className));
#region Запись в файл
using (StreamWriter file = new StreamWriter(logFileName, true))
{
file.WriteLine(builder.ToString());
}
#endregion
}