Создание MSI / установки с VS2008 - Как создать подпапки для журналов и временных файлов - PullRequest
1 голос
/ 24 октября 2010

Я создал приложение WinForms для C # .NET. Теперь мне нужно создать установщик MSI для того же, чтобы я мог отправить его своим клиентам.

Я застрял в следующем месте.

  1. Я использую log4net для ведения журнала. Как мне написать свой App.Config таким образом, чтобы папка LogFile основывалась на том, где мой конечный пользователь устанавливает приложение. То есть, если мой конечный пользователь установит его в папку по умолчанию C: \ Program Files \\, то папкой LogFile будет C: \ Program Files \\ * LogFiles *.

Если они решили установить его в другом месте, папка LogFiles будет подпапкой папки MyApp.

  1. Точно так же у меня есть папка TemporaryFiles, в которой я храню временные файлы во время изменения исходных файлов. Это снова должно быть подпапкой папки MyApp.

Я также понимаю, что папка приложения указывает на [ProgramFilesFolder] [Производитель] [ProductName], куда указывает папка CommonFiles? И что обычно происходит внутри этого?

Я использую VS2008 для сборки установки.

1 Ответ

2 голосов
/ 24 октября 2010

У меня просто не было бы файлов журнала в папке программных файлов. Для этого процесса необходимы разрешения на запись, и, как правило, администраторы должны иметь права на запись только в папке с программными файлами или в любой из ее подпапок. Я бы предпочел использовать, например, %appdata%/yourapplication/logfiles. Тогда вы можете легко указать конфигурацию log4net в этом месте, независимо от того, где это будет установлено. Я бы сделал то же самое для временных файлов.

(у меня нет ответа на этот вопрос CommonFiles.)

...