2012-01-10 65 views
1

我有一个查询与编写我的应用程序的日志文件相关。在用户选择的安装文件夹中写入日志文件

我想在用户选择的安装目录中编写一个日志文件。

所以对于安装程序的属性MSI Command Line Argument,我把价值像[INSTALLDIR]ApplicationLog.log。但它不会在安装目录中创建日志文件。

此外,我尝试了不同的方式,如更换"[]" by "{}", "()", "%%"。但仍然没有取得任何成功。

此外我创建了一个新的属性,并将该属性的值设置为我想要的路径。但.........

同样的事情我也试过Path变量。

有人请帮帮我。

感谢和问候,

莫希特帕特尔

回答

2

这里有一个顺序的问题。 INSTALLDIR在安装真正开始之前是未知的,但是当引擎启动并处理命令行和MSI文件时开始记录。此外,INSTALLDIR通常位于ProgramFilesFolder之类的高架区域,因此无法通过无特权的msiexec进程写入(启动它的推荐方式)。

如果您想写入非特权位置,一种方法是引用环境变量。例如,使用诸如"%LOCALAPPDATA%\yourappinstall.log""%TEMP%\yourappinstall.log"之类的位置。

+0

感谢您的回复..所以,请告诉我如何写一个日志文件到特定的文件夹,如[APPDATAFOLDER] ...? – 2012-01-10 14:16:14

+0

看我编辑的例子。 – 2012-01-11 12:17:02

+0

嗨迈克尔。谢谢。它为我工作很好。但假设我想将日志文件放在%LOCALAPPDATA%\ MyApplication \ AppLog.log中,那么它会显示错误,如路径不存在'因为在LOCALAPPDATA文件夹中,“MyApplication”文件夹将不存在...再次感谢您的帮助。 – 2012-01-11 13:07:32

相关问题