2

アプリケーションを AppData フォルダーにインストールすることはできますか? デフォルトの Program Files フォルダには、Google トークと Chrome の両方がインストールされていません。ユーザーの AppData フォルダーにインストールされます。Microsoft は ClickOnce で同じことを行います...

アプリケーションを自己更新したいのですが、Program Files フォルダーにインストールすると失敗します。Windows Vista (2008 および Seven) では、アプリケーションは Program Files フォルダーに書き込むことができません。UAC が原因であることは理解していますが、アプリケーションの自己更新が妨げられています。

セキュリティの問題を回避するために AppData フォルダーにデプロイしたい場合、MSI セットアップ プロジェクトを AppData にインストールするように指示するにはどうすればよいですか? 何か案が?

ありがとう!

更新: 証明書が必要なため、ClickOnce を使用できません。証明書に年間 200 ドルも使いたくありません。

4

5 に答える 5

5

VS 2008 以降、clickonce デプロイは署名なしにすることができます

于 2009-07-03T14:14:08.557 に答える
2

あなたは重要なポイントについて間違っています:

UACが責任があることを理解しています

本当じゃない。XPでも、標準ユーザーとして実行している場合は同じルールが適用されます。これは、多くの企業環境に当てはまります。これを防ぐのはUACではありません。これは、Windowsがフォルダーにアクセス許可を設定する方法であり、仕様によるものです。

AppDataフォルダーにインストールする場合は、ClickOnceインストーラーを使用するだけです。

于 2009-02-09T20:59:09.643 に答える
1

Windows 7では、新しいMSI 5.0は、UACの昇格を必要としない真の「ユーザーごとの」インストールをサポートします。ユーザーごとのプログラムファイルディレクトリがあります。詳細については、PDCの講演をご覧ください。

http://channel9.msdn.com/pdc2008/PC42/

于 2009-07-06T04:45:53.890 に答える
1

どの自己更新フレームワークを使用していますか?

ClickOnce の当初の目標の 1 つは、影響のないインストール方法にすることです。インストールは XCOPY にすぎず、システムの残りの部分を台無しにしないことが事実上保証されています。これは、MS が Program Files ではなく AppData を選択した理由の一部です。ファイルを AppData に書き込むだけであれば、システム全体が破損する可能性ははるかに低くなります。

カスタム フレームワークを自己更新し、シングル ユーザーで影響の少ないインストールを行いたい場合、AppData は悪い選択ではない可能性があります。実際には、Users ディレクトリの下にあるものは、Program Files よりも適切な場所です。

于 2009-02-09T21:11:42.733 に答える
0

確かに、私はVistaで非常に奇妙な動作を観察しました。msiでappdatafolderプロパティを使用しました。インストールするには管理者権限が必要です。現在、uacがオンで、標準使用でアプリケーションが実行されている場合、uacはログインボックスを表示し、管理者を要求しますパスワードは、同じアプリケーションがインストールされますが、標準ユーザーのアプリ データ フォルダーではなく、管理者アプリ データ フォルダーにインストールされます。

于 2009-07-03T13:46:52.070 に答える