![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
【理想】
既にSQLServerExpress2005以降(以下SQL)が入っているPCに対して、
SQLの管理者権限がないユーザーがインストーラーを実行した際、
・このユーザーは管理権限がないこと
・管理権限があるユーザーは○○というユーザーなので、○○というユーザーで
ログインし直してからインストールして欲しい
というメッセージを出したい
【現状】
SQLをデータベースとして開発したソフトウェアがあり、
インストーラーを実行すると、SQLと開発したソフトウェアが自動インストールされるようになっています。(既にSQLがインストールされている場合はSQLはインストールしない)
インストーラーは、Inno Setupを利用しています。
ここで問題になっているのが、
既にSQLがインストールされているPCにインストールしてもらった際に、
SQLの管理者ではないユーザーでインストールしようとするとエラーになることです。
ユーザーに上記を伝えて、権限のあるユーザーでやり直してもらって(もしくは一旦SQLをアンインストールして)、再度上記インストーラーを実行してもらう必要があるのですが、権限のあるユーザーが誰か答えられるユーザーがほどんどいません。
今は、インストーラーを実行した際、既にインストールされていれば、
仮のデータベースを作るテストをしてみて、出来ればOK、出来なければ、「インストール出来ないから管理権限のあるユーザーでログインしてほしい」のようなメッセージを出してセットアップを中止するようにしています。
インストーラーを実行した際、管理権限のあるユーザーが誰なのかが分かる方法はないでしょうか。色々試してみたのですが、「管理者権限がない」という応答しか返って来ません。
同様の悩み(対応)は他のソフトでも同様だと思いますが、
どのように解決しているのかを教えて頂ければ助かります。
分かる方ご教授お願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?e8efa67)
No.2
- 回答日時:
sp_helpsrvrolemember というストアド プロシージャを使えば指定したサーバーレベル ロールのメンバーを得ることができます。
VBScript 等で SQL Server にアクセスして上記プロシージャが返すレコードを展開すれば良いかと。
しかしそれなりの権限があるユーザーで実行しないと取得できないと思います。
この回答への補足
回答ありがとうございます。
既にそのプロシージャと同じ情報をSQLで取得するようになっています。
他のSQLServerを利用したソフトウェアはどうやってこのあたりの問題の解決しているのでしょうか。もしくは既にSQLが入っているPCにはインストール不可とかってしてるんでしょうか。。。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?e8efa67)
No.1
- 回答日時:
「管理者権限のあるユーザーでインストールすること」 という注意だけで済む話だと思うんだけど。
インストーラーがわざわざ 「あなたは管理者権限をもっていません。一度ログオフして xxxx または yyyy または zzzz でログインしてから再度インストーラーを実行してください。」 とか言う?
というか Inno Setup って使ったことないけど設定でセットアップ実行中のユーザーが Admin 権限を持っているか確認できるようにできるんじゃないの?
どうしても実現させたいっていうなら、Inno Setup がプログラムのセットアップよりも前に下のような VBScript を実行するとか。
Option Explicit
Dim userNameList
Dim strComputer
strComputer = "."
Dim objGroup
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators")
Dim objUser
For Each objUser In objGroup.Members
If objUser.Class = "User" Then
userNameList = userNameList & objUser.Name & vbCrLf
End If
Next
WScript.Echo "このコンピューターの管理者権限を持つユーザー一覧:" & vbCrLf & userNameList
またはコマンドプロンプトで
net localgroup Administrators
とさせるとか。
または net localgroup Administrators をVBScript で実行させるとか。
Set objShell = CreateObject("Wscript.Shell")
strCommand = "net localgroup Administrators"
Set objExec = objShell.Exec(strCommand)
Do Until objExec.Status
Wscript.Sleep 250
Loop
Wscript.Echo objExec.StdOut.ReadAll()
この回答への補足
ありがとうございます。
調べたいのは、SQLのサーバーロールにadmin権限があるユーザーが誰かということです。OSのadminにSQLの管理権限があるとは限らないので困っています。
1台ずつ私たちが出向できればいいのですが、基本はWeb配布なので一般の方が自身でインストールすることになります。
その際に既にSQLがインストールされているPCでこのトラブルが多いので何とかならないかと思い投稿しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java jdk17.06のインストーラーが起動しない 1 2023/03/27 21:58
- その他(開発・運用・管理) ユーザ権限でソフトを起動すると必ず管理者パスワードをきかれてうまく利用できない 3 2022/05/10 00:07
- UNIX・Linux Ubuntu on Xorgのログインについて 2 2023/08/10 15:16
- Windows 10 Win11アカウント権限を。Adminにアップグレードできないものでしょうか? 5 2023/03/24 11:24
- WordPress(ワードプレス) ワードプレスの管理画面でユーザー名が違うと出るのですがどこで設定したユーザー名を打てばいいのでしょう 1 2022/03/31 19:36
- SQL Server SQLのクエリの書き方 1 2022/03/29 23:06
- Windows 10 別ユーザーでログインした際、表示されないのソフトの探し方 1 2022/07/15 10:26
- グループウェア Macでオープンオフィスが開きません 1 2023/01/14 14:22
- Google Drive Googleマイドライブの共有”リンクを知っている全員”の期限設定 1 2023/01/19 10:33
- ソフトウェア ソフトインストール 2 2022/04/25 18:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
exp、impについて
-
大至急!mdfファイルの中身を見...
-
Universalインストーラが勝手に...
-
Oracle9iを再インストールす...
-
ORACLEをインストールしたディ...
-
OracleのPatch適用時について
-
Oracle 10gがインストール出来...
-
SQLについてのエラーメッセージ...
-
SQLの管理権限のあるユーザーを...
-
PostgreSQLを完全に削除出来ない
-
Crystal Report for VB
-
postgresqlの接続ポート5432か...
-
MySQLとPostgresの同時使用
-
windows版postgresql 異なるバ...
-
pgpassが有効にならない?
-
サーバに接続できません・・・
-
POSTGRESのデータの格納場所は...
-
psql 使用時に自動 commit を無...
-
pgpoolというpostgreSQLのレプ...
-
PostgreSQLが起動しない・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でQuickTimeがインス...
-
大至急!mdfファイルの中身を見...
-
64bitサーバにOracleが作成でき...
-
PostgreSQLを完全に削除出来ない
-
Windows10がインストールできま...
-
ORACLEをインストールしたディ...
-
Oracle9iを再インストールす...
-
Npgsql.dllをバージョン指定で...
-
リスナーが起動しません
-
Universalインストーラが勝手に...
-
アンインストール時がうまくい...
-
postgresqlの国際化言語のサポ...
-
postgresSQL サーバ起動しない...
-
インストール時のエラー
-
Crystal Report for VB
-
Oracle RacにおけるSSH接続設定...
-
ORACLE DB を軽く動かしたい
-
exp、impについて
-
Oracle 10gがインストール出来...
-
AccessからOracleDBへのリンク...
おすすめ情報