我正在编写C ++安装程序,并希望在没有用户交互的情况下执行以下任务:
目前我使用此命令安装apache:apache_2.2.6-win32-x86-no_ssl.msi /passive ALLUSERS=1 SERVERADMIN=admin@localhost SERVERNAME=localhost SERVERDOMAIN=localhost SERVERPORT=80
。这将使用指定的设置以静默方式安装apache,并使服务自动启动。完美。
问题是,在此之后我不知道如何获取Apache使用的DocumentRoot(我的测试计算机默认为C:\Program Files (x86)\Apache Software Foundation\Apache\htdocs
),所以我不知道在哪里发送文件。所以我要么:
谢谢!
答案 0 :(得分:0)
您需要解析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文件