2011-01-31 184 views
2

卸载时,安装程​​序会删除已安装的文件夹及其所有子目录。但是,我们希望保留一些关于卸载的日志文件。如何让安装程序不删除已安装的文件夹?MSI卸载不删除所有文件夹

+0

你用什么来创建MSI?只是一个Visual Studio安装项目?或者像InstallShield,Wise或其他第三方? – 2011-02-18 15:39:08

回答

6

我的建议是将日志文件存储在%APPDATA%的文件夹下,是在应用程序需要时创建的,而不是安装程序。由于该文件夹不会由安装程序创建,因此可以解决安装程序将其删除的问题。

另外值得一提的是,如果安装程序为应用程序创建下%PROGRAMFILES%文件夹和你保持日志文件存在,你做错事,因为它不是正确的地方存储日志数据,因为:

  • %PROGRAMFILES%是不可写为标准用户
  • %APPDATA%是“正确”的地方来存储的东西,如日志(这一切都在名称=!)
0

现在你是否已经将文件写入文件夹,或者只是假定目录将被删除,因为您看到它将被删除(没有新文件)。根据我的经验,MSI不会删除非空的文件夹。所以MSI会删除它自己的文件,但日志文件将会在那里,因此它不会删除目录。

虽然我同意@Rob,但这很可能不是编写日志文件的最佳位置。