Я пишу установщик C ++ и хочу, чтобы он выполнял следующие задачи без взаимодействия с пользователем:
В настоящее время я установил apache с помощью этой команды: apache_2.2.6-win32-x86-no_ssl.msi /passive ALLUSERS=1 SERVERADMIN=admin@localhost SERVERNAME=localhost SERVERDOMAIN=localhost SERVERPORT=80
, Это автоматически устанавливает apache с указанными настройками и автоматически запускает службы. Отлично.
Проблема в том, что после этого я не знаю, как получить DocumentRoot, который использует Apache (по умолчанию C:\Program Files (x86)\Apache Software Foundation\Apache\htdocs
на моем тестовом компьютере), поэтому я не знаю, куда отправлять файлы. Так что мне либо нужно:
Спасибо!
Вам нужно будет разобрать Apache/conf/httpd.conf
Затем файл измените DocumentRoot
значение, на которое вы хотите, чтобы он указывал.
Найди это
DocumentRoot ".*"
Измените это на
DocumentRoot "Your Location"
Чтобы найти расположение httpd.conf, зная, что папка установки по умолчанию для apache — это Programe Files …
Использование win 32 API
TCHAR pf[MAX_PATH];
SHGetSpecialFolderPath(
0,
pf,
CSIDL_PROGRAM_FILES,
FALSE );
http://msdn.microsoft.com/en-us/library/bb762204(VS.85).aspx
Затем добавьте \Apache Software Foundation\Apache\conf\httpd.conf
в папку с файлами программы, чтобы найти файл httpd.conf
Других решений пока нет …