C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

MS SetupProject アンインストール時のカスタム

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■88646 / inTopicNo.1)  MS SetupProject アンインストール時のカスタム
  
□投稿者/ ぽんすけ (36回)-(2018/09/13(Thu) 10:21:01)

分類:[インストーラ全般] 

お世話になっております。

Visual Studio2017においてC#でSetup projectを使ってインストーラを作成しております。

アンインストール時に、カスタム動作で、以下のフォルダを削除したいと思っておりますが
カスタム動作では、ユーザ名取得すると「SYSTEM」になってしまい、
ログインユーザ名が取れないので、どうしようかと悩んでおります。

C:\Users\ログインユーザ名\AppData\Local\アプリ名


ログインユーザを取得する方法はないものでしょうか。

引用返信 編集キー/
■88647 / inTopicNo.2)  Re[1]: MS SetupProject アンインストール時のカスタム
□投稿者/ Mummy-B (1回)-(2018/09/13(Thu) 14:16:42)
そもそも、このインストーラでは、すべてのユーザを対象としていないのでしょうか?
もし、該当ユーザ名が分かれば今回の問題が解決できるのであれば、
逆転の発想で、C:\Usersの各ユーザのフォルダを確認し、該当フォルダがあれば削除、
という方法もありなのでは、と思います。

引用返信 編集キー/
■88650 / inTopicNo.3)  Re[1]: MS SetupProject アンインストール時のカスタム
□投稿者/ とっちゃん (524回)-(2018/09/13(Thu) 18:10:26)
No88646 (ぽんすけ さん) に返信
> アンインストール時に、カスタム動作で、以下のフォルダを削除したいと思っておりますが
> カスタム動作では、ユーザ名取得すると「SYSTEM」になってしまい、
> ログインユーザ名が取れないので、どうしようかと悩んでおります。
>
> ログインユーザを取得する方法はないものでしょうか。
>
Instalerクラスは、システムアカウントで動くため、ユーザー名は取れません。

で、それとは別に根本的な問題というかそもそも論なのですが。。。

インストーラを実行したユーザーアカウント(管理者権限が必要)と
実際にアプリを利用するユーザーアカウント(管理者権限は不要)で
アカウントが異なっている場合
アンインストール時に実際に利用しているユーザーのアカウント固有のフォルダなどにはアクセスできませんが
それに対してはどういう対応を考えていますか?

それと、VSのセットアッププロジェクトはインストール時に「このユーザーのみ」という選択が取れるようにプロジェクト構成は作られています(PerUserInstall)。
ですが、実際にはインストールユーザーのみの設定でインストールすることができるようにはなっていません。
PerUserInstallにするための設定は、XPまでとVistaからで変わっていて、VSのセットアッププロジェクトはXPまでの設定しかできるようになっていないため、Vista以降の現行OS上では該当ユーザーでのみ動くという形で作成されるようになっていません。

なので、このユーザーのみを行いたい場合は、別のインストーラ作成ツールを使う必要があります。

引用返信 編集キー/
■88657 / inTopicNo.4)  Re[2]: MS SetupProject アンインストール時のカスタム
□投稿者/ ぽんすけ (38回)-(2018/09/15(Sat) 23:10:41)
Mummy-B さま、とっちゃんさま

ご回答ありがとうございます。
ユーザアカウントごとにフォルダを変更するのでなく、
共通のフォルダに保存するように変更しようと思います。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ