Action: run; FileName: "reg"; Parameters: "add HKLM\SYSTEM\CurrentControlSet\Services\wampapache /V Start /t REG_DWORD /d 3 /f" ShowCmd: hidden; Flags: waituntilterminatedet votre ligne :
Action: run; Filename: "sc"; Parameters: "\\\\. config ${c_apacheService} start= demand"; ShowCmd: hidden; Flags: waituntilterminatedJ'ai volontairement aligné les différents param_tres afin de voir la différence.
[ApacheServiceInstall] ;WAMPAPACHESERVICEINSTALLSTART Action: run; FileName: "${c_phpExe}"; Parameters: "testPortForInstall.php";WorkingDir: "${c_installDir}/scripts"; Flags: waituntilterminated Action: run; FileName: "${c_apacheExe}"; Parameters: "${c_apacheServiceInstallParams}"; ShowCmd: hidden; Flags: waituntilterminated ;Action: run; Filename: "sc"; Parameters: "\\\\. config ${c_apacheService} start= demand"; ShowCmd: hidden; Flags: waituntilterminated Action: run; FileName: "reg"; Parameters: "add HKLM\SYSTEM\CurrentControlSet\Services\\${c_apacheService} /V Start /t REG_DWORD /d 3 /f"; ShowCmd: hidden; Flags: waituntilterminated Action: resetservices Action: readconfig ;WAMPAPACHESERVICEINSTALLENDCe qui donne pour le fichier wampmanager.ini et wampserver 32 bit :
[ApacheServiceInstall] ;WAMPAPACHESERVICEINSTALLSTART Action: run; FileName: "E:/wamp/bin/php/php7.2.25/php.exe"; Parameters: "testPortForInstall.php";WorkingDir: "E:/wamp/scripts"; Flags: waituntilterminated Action: run; FileName: "E:/wamp/bin/apache/apache2.4.41/bin/httpd.exe"; Parameters: "-n wampapache -k install"; ShowCmd: hidden; Flags: waituntilterminated ;Action: run; Filename: "sc"; Parameters: "\\. config wampapache start= demand"; ShowCmd: hidden; Flags: waituntilterminated Action: run; FileName: "reg"; Parameters: "add HKLM\SYSTEM\CurrentControlSet\Services\wampapache /V Start /t REG_DWORD /d 3 /f"; ShowCmd: hidden; Flags: waituntilterminated Action: resetservices Action: readconfig ;WAMPAPACHESERVICEINSTALLENDQuitter Wampserver
Root: "HKLM64"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "RUNASADMIN"; Permissions: admins-full; Flags: uninsdeletekeyifempty uninsdeletevalue; Check: IsWin64 Root: "HKLM32"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "RUNASADMIN"; Permissions: admins-full; Flags: uninsdeletekeyifempty uninsdeletevalue; Check: Not IsWin64selon que l'on installe sur un Windows 34 ou 32 bit ce qui, pour Windows 64 bit, avec mes Wampserver 32 et 64 bit :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] "E:\\wamp\\wampmanager.exe"="RUNASADMIN" "E:\\wamp64\\wampmanager.exe"="RUNASADMIN"
Wampserver 3.0.0 à 3.2.0 [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\www\favicon.ico" Name: "{group}\{cm: ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"; IconFilename: "{app}\www\favicon.ico" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; IconFilename: "{app}\www\favicon.ico" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\www\favicon.ico" [Registry] Root: "HKLM64"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "RUNASADMIN"; Permissions: admins-full; Flags: uninsdeletekeyifempty uninsdeletevalue; Check: IsWin64 Root: "HKLM32"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "RUNASADMIN"; Permissions: admins-full; Flags: uninsdeletekeyifempty uninsdeletevalue; Check: Not IsWin64 //--- Modify shortcuts 'run as administrator' procedure CurPageChanged(CurPageID: Integer); var CD, GS: TFileStream; begin if CurPageID = wpFinished then try CD := TFileStream.Create(ExpandConstant('{commondesktop}\{#MyAppName}.lnk'), fmOpenReadWrite); CD.Seek($15,soFromBeginning); CD.WriteBuffer(Chr($20), 1); GS := TFileStream.Create(ExpandConstant('{group}\{#MyAppName}.lnk'), fmOpenReadWrite); GS.Seek($15,soFromBeginning); GS.WriteBuffer(Chr($20), 1); finally CD.Free; GS.Free; end; end;
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="wampmanager.exe" type="win32"/> <description>elevate execution level</description> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" /> </requestedPrivileges> </security> </trustInfo> </assembly>- Ressource Icône
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="CodeGear RAD Studio" version="11.0.2902.10471" processorArchitecture="*"/> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>- Ressource Icône origine Onno Broekman
<requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" /> </requestedPrivileges>puis, qu'à partir de Wampserver 3.0.0, vu que wampmanager.exe a été repris directement depuis la dernière version Onno Broekman, la resource Manifest donnait :
<requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges>et c'est pourquoi il fallait forcer "Run as an administor" dans le raccourci et la BDR.
<requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges>puisque ces versions ont pour origine la version originelle de Onno Broekman et ce jusqu'à la version 3.2.2.4 qui a remis en place les privilèges de wampmanager d'origine.
<requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges>