Windows VISTA 以降のOSで、ユ−ザーアカウント制御が有効の場合、インストーラ自体を管理者権限で実行しても、その内部に仕込まれたカスタムアクションは、管理者権限で実行されません。 カスタムアクションを管理者権限で実行するには、テーブル「CustomAction」の「Type」に、msidbCustomActionTypeNoImpersonate(=&H800=2048)を加えます。 ※ただし、アンインストールでmsidbCustomActionTypeNoImpersonateを指定すると、エラー1721が発生するかもしれません。(常に発生するかは未確認ですが、Windows8環境にて、コントロールパネルからアンインストールした際にエラー1721が発生し、msidbCustomActionTypeNoImpersonateを削除して解決できた事案がありました。ただし、コントロールパネルからではなく、インストーラーを直接叩いて削除するとエラーが発生しないことから、msidbCustomActionTypeNoImpersonateが原因なのか、それともWindowsの不具合なのか、判断できませんでした。) |
参考URL |
アプリケーションで Windows Vista のユーザー アカウント制御を有効に活用する |