Cmd 将日期添加到安装程序日志文件
我正在使用advanced installer构建安装程序,但在尝试将日期添加到日志文件时遇到问题。我尝试了一个使用cmd的命令,但是当我将它添加到MSI命令行时,所有的日期值都显示为空白。下面是我为MSI传递的参数Cmd 将日期添加到安装程序日志文件,cmd,installation,windows-installer,advanced-installer,Cmd,Installation,Windows Installer,Advanced Installer,我正在使用advanced installer构建安装程序,但在尝试将日期添加到日志文件时遇到问题。我尝试了一个使用cmd的命令,但是当我将它添加到MSI命令行时,所有的日期值都显示为空白。下面是我为MSI传递的参数 /L*V "C:\Log_%date:~4,2%.%date:~7,2%.%date:~10,4%-%time:~0,2%.%time:~3,2%.%time:~6,2%.log" 我们正在尝试将日志设置为log_04.05.2019-15.03.45.log而不是log.log
/L*V "C:\Log_%date:~4,2%.%date:~7,2%.%date:~10,4%-%time:~0,2%.%time:~3,2%.%time:~6,2%.log"
我们正在尝试将日志设置为log_04.05.2019-15.03.45.log而不是log.log,因为在卸载或重试安装时会覆盖日志
高级安装程序:对不起,我看我一定是误解了。您正在尝试从Advanced中设置日志文件名
安装程序。我会快速看一看。在工具中的何处指定此命令行?请注意,每个MSI操作都记录在TMP中
澄清:看来您不想写入日志,而是想控制日志文件本身的文件名
PowerShell:我发现批处理文件对于这样的东西来说很笨拙。您可以通过Powershell调用安装吗?我并不真正使用PowerShell,但考虑到它可以使用.NET,也许简单地转换一下这个C#调用就可以了 您需要类似以下内容:
“Log\u 04.05.2019-15.03.45.Log”
,因此您可以在C中尝试:
Console.WriteLine(“Log_u”+DateTime.Now.ToString(“dd.MM.yyy HH.MM.ss”)+“.Log”);
,请参阅此PowerShell代码段的底部(同样,我不为此目的使用PowerShell):
$DataStamp=获取日期-格式yyyyMMddTHHmmss
$logFile='{0}-{1}.log'-f$file.fullname,$DataStamp
$MSI参数=@(
“/i”
(“{0}”-f$file.fullname)
“/qn”
“/norestart”
“/L*v”
$logFile
)
启动进程“msiexec.exe”-ArgumentList$msiaarguments-Wait-nonewindow
也许还可以阅读一下《通用》中的(希思·斯图尔特) 答复: . 用于Windows Installer操作的专用PowerShell模块 不那么笨重
某些链接:
- 各种MSI日志记录方法: