1

現在、インストールの問題により、Windows インストーラーのログ ファイルを調査しています。

1 つのログ ファイルには次のプロパティが含まれます: MsiTrueAdminUser = 1

AdminUser = 1 と MsiTrueAdminUser = 1 の違いは何ですか? 私の開発用 PC では、AdminUser = 1 しか表示されず、MsiTrueAdminUser = 1 は表示されません。MsiTrueAdminUser = 1 を取得するには、どの設定が必要ですか?

ログ ファイルには別のステートメントもあります (MsiTrueAdminUser = 1): MSI_LUA: インストールが既に管理者特権で実行されているため、MsiRunningElevated プロパティを 1 に設定します。

他のシステムでは、この行には次が含まれます: MSI_LUA: これがクライアントであるか、ユーザーが既に昇格を許可しているため、AdminUser プロパティを 1 に設定します

既に msdn から回答を得ようとしましたが、このプロパティは文書化されていませんでした。

4

2 に答える 2

0

このプロパティがこれまでに文書化されたかどうかはわかりません。私は通常Privileged プロパティを使用します。

于 2013-07-07T11:56:54.583 に答える
0

いずれの場合も、2 つの問題が本当にあなたの問題であるとは思いません。そして、私にはいくつかの経験があります。あなたは正しいものを探していません、私は推測します、あなたはすでに深くなりすぎています。「MsiTrueAdminUser」検索を放棄することをお勧めします。その上、私はその考えをクリストファーと共有しています。

基本的な問題行動を投稿すると、おそらくより成功するでしょう。UAC とそれが MSI に与える影響を認識していますか? そこから始めます。MSI の場合、組み込みの「管理者」ユーザーであるかどうかは重要ではありません。昇格された権限で MSI を開始している限りはそうではありません。

2 つの一般的な問題があります。それらはすべての「高さ」の問題の 90% 以上を占めると思います。最初の可能性は、msi を既に昇格された権限で開始するか、msi ダイアログが要求するまで待つと、違いが生じることです。可能であれば、setup.exe ブート ストラップなどを使用して、最初のシナリオを保証するようにしてください。

2 番目の可能性は、msi がどの権利を使用しているかを理解することです。1 つの文で少し簡略化するために、開始時の権限を使用しますが、アクション InstallInitialize と InstallFinalize の間 (実際の変更はここで行われます!) に関係なく、ローカル システム アカウントからそれらを使用します。はじめました。(ユーザーごとのインストールではなく、昇格されたものであると仮定します)

ローカル システム アカウントには、管理者とは少し異なる権限セットがあるため、間違った詳細を探している可能性があります。

カスタム アクションを処理する必要がある場合、2 つの問題は非常に複雑になります。次に、あなたの行動がどの権利で開始されるかを知るために必要な、明確な MSI の知識があります。そして、ほとんどの場合、問題があります。

一般に、前述のセクション (InstallInitialze/InstallFinalize) 以外の場所でのセットアップで昇格された権限を使用するのは、あまり良いスタイルではありません。あなたがセットアップの作成者である場合は、まずベスト プラクティスについて読むことをお勧めします。

于 2013-07-09T16:51:09.250 に答える