Inno Setupを使用してインストールウィザードを作成していて、その中にWAMPインストールが含まれています。しかし、他のものによれば、WAMPの2倍の設置はWAMPそのものに害を及ぼします。だから、私はWAMPがインストールされているかどうかを確認してから作業を進める必要があります。どのようにこれを行うにはどのように?Innoセットアップを続行する前にWAMPがインストールされていることを確認します
答えて
インストールプロセス中にレジストリエントリが作成されます。インストーラはInno Setupに基づいています。
レジストリエントリの2つのクラスがあります。
1個人:
[Registry]
Root: HKLM64; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\";
ValueName: "{app}\wampmanager.exe"; ValueType: String; ValueData: "RUNASADMIN";
Check: "IsWin64"; MinVersion: 0.0,6.0; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM32; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\";
ValueName: "{app}\wampmanager.exe"; ValueType: String; ValueData: "RUNASADMIN";
Check: "Not IsWin64"; MinVersion: 0.0,6.0; Flags: uninsdeletevalue uninsdeletekeyifempty
2デフォルトのアンインストール情報:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{wampserver64}_is1
パスとInstallLocation
であれば、私たちがチェックすることができますWAMPがインストールされていて、実行ファイルがインストールフォルダにある場合(追加チェックとして)。
例は、WAMP 3.0.6の64-bit
バージョンに基づいています。
32- and 64-bit
の両方のバージョンのサポートが必要な場合は調整する必要があります。
[Setup]
ArchitecturesAllowed=x64
ArchitecturesInstallIn64BitMode=x64[
[Code]
function CheckWAMPExists(): Boolean;
var
sInstPath: String;
sInstallString: String;
begin
Result := False;
sInstPath := 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{wampserver64}_is1';
sInstallString := '';
if not RegQueryStringValue(HKLM, sInstPath, 'InstallLocation', sInstallString) then
RegQueryStringValue(HKCU, sInstPath, 'InstallLocation', sInstallString);
if sInstallString <> '' then begin
if FileExists(ExpandConstant(sInstallString) + 'wampmanager.exe') then
MsgBox('WAMP found!' + #13#10 + 'Install location:' + #13#10 + sInstallString
+ #13#10#13#10 + 'Installation will proceed!', mbInformation, MB_OK);
Result := True;
end
else begin
MsgBox('WAMP not found! Installation terminated.', mbInformation, MB_OK);
end;
end;
function InitializeSetup(): Boolean;
begin
Result := CheckWAMPExists;
end;
上記の答えがあなたの問題を解決したら、それを解決策として受け入れてください。 – RobeN
申し訳ありませんがしばらくチェックインしていません。私はこれがそれを解決すると思う。ありがとう!とても有難い。 –
プログラムがインストールされているかどうかを確認するには、既定のパスと他の可能なパスにフォルダがあるかどうかを確認するしかありません。
if DirExists('C:\wamp')
or DirExists('C:\wamp64')
or DirExists('C:\Program Files\wamp')
or DirExists('C:\Program Files\wamp64')
or DirExists('C:\Program Files(x86)\wamp')
or DirExists('C:\Program Files(x86)\wamp64')
or DirExists('{userdocs}\wamp')
or DirExists('{userdocs}\wamp64')
or DirExists('{userdocs}\Desktop\wamp')
or DirExists('{userdocs}\Desktop\wamp64')
then begin
MsgBox('An installation of WAMP was found.' + #13#10#13#10 + 'Please uninstall any WAMP/XAMPP programs first' + #13#10 + 'or install SpinShot in a different PC.', mbInformation, MB_OK);
Result := False;
end;
end;
これは最善の解決策ではないと思う。 (おそらく)ユーザーがどこにでもWAMPをインストールできるように、すべてのディスクとすべてのディレクトリをスキャンする必要があります。このWAMPに関するいくつかの詳細を共有できますか?これはオープンソースまたはフリーウェアの場合はどこからインストーラをダウンロードしますか?WAMPがレジストリエントリ – RobeN
@RobeNここにあります:http://www.wampserver.com/en/そして私が知る限り、インストール時にレジストリを編集しません。 –
- 1. Inno Setup - コンポーネントがインストールされていることを確認します
- 2. NSISアプリがインストールされていることを確認する
- 3. 使用する前にAdobe Readerがインストールされていることを確認してください
- 4. リダイレクト前に安全な接続が確立されていることを確認してください
- 5. INNOセットアップで最初にインストールされたファイルをアンインストールする
- 6. .netのフルバージョンがインストールされていることを確認しますか?
- 7. SQL Serverクライアントがインストールされていることを確認します。
- 8. msiが実行される前にインストールされている他のアプリケーションを確認してください
- 9. kafkaクライアントプロデューサがJavaでメッセージを送信する前に実行されていることを確認します
- 10. iphone - アプリがインストールされていることを確認してください
- 11. Skypeがインストールされていることを確認してください
- 12. PEAR MAILがインストールされていることを確認してください
- 13. アプリがインストールされていることを確認してください
- 14. ESP8266 - クライアントが接続されていることを確認しますか?
- 15. mongoDBが接続されていることを確認してください。
- 16. ユーザーがfirebaseで確認されていることを確認します。android
- 17. ネットワークに接続されていることを確認します。 jQuery
- 18. チェックボックスがチェックされていることを確認します。
- 19. Chromeがインストールされていて、Inno Setupを使用している特定のバージョンであることを確認してください
- 20. Innoセットアップでインストールしたときにアプリケーションが動作しない
- 21. PIA 2007がインストールされていることを確認する方法は?
- 22. 私のFacebookアプリケーションがインストールされていることを確認する
- 23. Googleマップがインストールされていることを確認する - iOS 10.2.1
- 24. プラグインマネージャがインストールされていることを確認する方法
- 25. Python:サービスが実行されていることを確認します
- 26. サービスが実行されていることを確認しますか?
- 27. Innoセットアップ: "sc create"を使用してWindowsサービスをインストールする
- 28. インストール時にアンドロイドアプリがインストールされていることを確認してください
- 29. プログラムがインストールされていることを確認します。次のpowershellに移動します。
- 30. ブランチが実行されていることを確認してください。
*「WAMPまたは他の関連プログラム」*はかなり広いです。 * "他の関連するプログラム" *だけを許可して、 "アプリケーション"をチェックする一般的な方法はありません。特定のアプリケーションごとに特定のチェックを実装する必要があります。チェックしたい特定のアプリケーションの名前をつけてください。おそらく、それぞれのアプリケーションごとに別の質問をするべきでしょう。 –
@ MartinPrikryl私は質問を編集しました。 WAMPがインストールされているかどうかを確認する必要があります。私はそれについてお詫び申し上げます。 –
WAMPに関するさらに詳しい情報をお待ちしていますか?例えば。作成するレジストリエントリ、実行可能ファイルにはどのようなものがありますか?どこにダウンロードすればいいですか(無料であればOpenSourceアプリですか?WAMPアプリに関する特定の情報なしで誰もあなたに適切な答えを与えることはできません) 私は何をしますか? 2.パスをとり、存在するかどうかを確認する3.アプリの実行可能ファイルがアプリパスに存在するかどうかをチェックし、おそらく4.アプリの既知のバージョンであることを確認する – RobeN