EXE、ActiveX コントロール (DLL)、および COM サーバー (EXE) を含む Win32 アプリケーションがあり、Inno Setup 5 を使用してインストーラーをビルドしています。私たちの顧客の多くは、ユーザーが管理者権限を持たない制限付きユーザー アカウントを使用しています。また、COM コンポーネントを登録する必要があるため (HKEY_CLASSES_ROOT に書き込みます)、私のセットアップ ファイルは昇格された (管理者) 権限で実行する必要があります。これはやむを得ないと思います(残念ながら、私はEXE COMサーバーを持っているため、登録不要のCOMを使用できません)。ただし、制限付きユーザーとして実行できる更新インストーラーを作成したいと考えており、アドバイスを求めています。
私が考えていることは次のとおりです。
- 初期セットアップ (初回インストール) では、%PROGRAMFILES% ではなく、%ALLUSERSPROFILE%\Application Data\CompanyName\AppName にアプリケーションがインストールされます。COM コンポーネントは通常どおり登録されます (まだ存在しないため)。
- その後の更新 (別の Inno Setup スクリプトを使用) では、新しいファイルが %ALLUSERSPROFILE%\Application Data\CompanyName\AppName に単純にコピーされます。制限付きユーザーでもこのフォルダーへの書き込みアクセスが可能であり、COM コンポーネントが既に登録されているため、管理者アクセスは必要ありません。
これは、顧客が管理者アカウントを使用する手間をかけずに、最新かつ最高のバージョンにアップグレードできることを意味します。これは受け入れられますか、それともお尻を噛む可能性がありますか? Google Chromeでも同様のことができると確信していますが、COMコンポーネントがないため(私が知る限り)、初期設定でも制限付きユーザーになる可能性があります.
この問題に直面した他の人からのアドバイスは大歓迎です。