質問: ### 前提・実現したいこと UAC対策としてmsiのインストール先を ・C:\Users\ユーザー名\AppData\Local\会社名\アプリ名\ に変更したい。 内製ソフトの保守・改修を行っています。 UAC対策が全く行われておらず、exeにシールド(盾)マークが付いているために標準ユーザーが起動するたびに管理者昇格を求められています。 そこで、UAC対策の一環としてインストール先を現状の ・C:\Program File(x86)\ から、ユーザーごとにインストールすべく ・C:\Users\ユーザー名\AppData\Local\会社名\アプリ名\ に変更したいと考えています。 インストーラー内でユーザーを識別し、(動的に)インストール先を取得・表示したいと考えています。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/bacfac981136dcd302041585c97f1020.jpeg) インストーラー作成に関する ・Windows Installer技術 ・InstallScript技術 ・MSIX技術 などの利用で実現可能でしょうか? msi形式にはこだわっていません。 ヒントや回答など、みなさまの知識やお知恵をお借りしたく。 よろしくお願いします。 ### 試したこと 以下を参考に試したところ、 ・C:\Users\ユーザー名\AppData\Local\Programs\会社名\アプリ名\ とProgramsフォルダーがワンクッション入ってしまいます。 https://tsmatz.wordpress.com/2009/06/24/rds-windows-installer-5-0/ また、batファイルやVBSを使って試作したのでスマートではありません。 ### 補足情報(FW/ツールのバージョンなど) ・windows10 ・Visual Studio 2017 ・.NET Framework 4.7.2 ・Windows Forms ・VB.NET
回答: Microsoft Visual Studio Installer Projectsを使われているならば、単純に、`Application Folder`(他のフォルダーを追加しているならそちら)の`DefalutLocation`プロパティのProgramFilesFolder]部分を[LocalAppDataFolder]に変えるのではだめですか? ![イメージ説明