2011-07-18 10 views
1

私は、Windows 7のスターターを実行しているネットブックに私のインストーラをテストしたが、標準ユーザーアカウントを使用してログインし、私が前に遭遇していなかったいくつかの問題に気づきました。Visual Studioのセットアッププロジェクト - Windowsの標準ユーザーアカウントと現在のユーザーをインストール

ユーザーは標準ユーザーとして実行されているため、管理者アカウントの詳細が求められます。これは問題なく、インストーラを起動することができます。今、ユーザーはすべてのユーザー/彼らは現在のユーザーのためのソフトウェアをインストールするかどうかを選択するために取得し、彼らは次のことが発生し、現在のユーザーを選択したとき:

  • のショートカット(デスクトップとアプリケーションメニュー)が作成されていません標準ユーザーではなく、Administratorアカウント用に作成されます。私は標準ユーザーアカウントからログアウトし、管理者アカウントとしてログインし、ショートカットが正しく表示されました。これは私が期待したものではありません。このマシン上でアンインストール

  • もインストーラによって作成されたレジストリキーを残しました。この現象は、試したデスクトップでは発生しませんでした。

一つのことに注意すること(ただし、実際に、このシナリオに影響を与えるべきではない)私は自分のアプリケーションの実行に必要ないくつかのprerequistiesをブートストラップするdotNetInstallerを使用することである(SQLコンパクトDB 3.5)のVisual Studioを呼び出すブートストラップ自体に先立って2010セットアップの実行ファイル(私のアプリケーション)。

標準ユーザーがログインしているときに自分の製品をインストールしようとすると、管理者の資格情報を入力して現在のユーザーのインストールを選択し、管理者アカウントではなく標準ユーザーアカウントのショートカットをインストールするにはどうすればよいですか?ユーザーがプログラムを削除するとき

また、なぜセットアッププロジェクトの一環として作成されたレジストリエントリは、このPC上(スループログラムの追加/削除)自体を削除しないのでしょうか?このネットブックのWindowsインストールは何とか壊れていますか?

答えて

1

標準ユーザーがログインしていると、彼らは私の製品をインストールしようと、 は、管理者の資格情報を入力して、現在のユーザーがインストールを選択した場合、どのように が、私はそれが標準ユーザーアカウントのショートカットをインストールするのですかという 管理者アカウントよりも

できません。標準ユーザーのユーザー単位のインストールは、高度なしで実行する必要があります。これは、Application DataフォルダやHKEY_CURRENT_USERハイブなどのユーザー単位の場所のみを使用できることを意味します。ユーザー単位のインストールを昇格させると、昇格するアカウントに対して実行されます。

ユーザーがプログラムを削除した場合も、なぜセットアップ プロジェクトの一環として作成されたレジストリエントリは、このPC上( を通じてプログラムを追加/削除)自体を削除しないのでしょうか?まさにこのレジストリエントリである

?それがHKEY_CURRENT_USERにある場合、おそらくアンインストールプロセスはそれにアクセスできません(たとえば、別のユーザーアカウント用にインストールされているなど)。アンインストールログを作成して何が起こったのか見てみましたか?

+0

標準ユーザーのためのユーザー単位のインストールでは、elevation_なしで実行する必要があります。感謝します。プログラムを仰角なく走らせる方法がわかりません。これは実行可能ファイルに対して可能ですか? – GoalMaker

+0

レジストリキーは、HKEY_LOCAL_MACHINE \ Software \ [Product Name]に作成されます。プログラムがインストールされ、ブートストラップによって使用されていることを示すフラグ。 – GoalMaker

+0

仰角を持たないユーザー単位のインストールを実行するには、プログラムファイルやHKEY_LOCAL_MACHINEなどのマシン単位の場所を使用しないようにする必要があります。レジストリエントリは、Windowsインストーラのサポートまたはカスタムアクションを使用して作成されますか?カスタムアクションまたはアプリケーションによって作成されたリソースは、アンインストールによって削除されません。 –