2017-06-15 30 views
0

私は、ClickOnceによって展開されるWindowsフォームアプリケーションを持っています。このアプリケーションでは、アプリケーション設定を利用して基本的な接続情報を保存します。私はアプリを公開してから2年以上、200回以上のアップデートをしていて、日常的に使用されていたので、個々のユーザが自分の設定を変更したり、アプリケーションを再起動したり更新したりしても、ClickOnceの設定がコマンドラインから実行されるときに見つかりません

しかし、タスクスケジューラで特定のタスクをスケジュールできる機能をアプリケーションに追加しようとしています。すべて正常に動作します(タスクがスケジュールされ、正しいパラメータが渡された状態でアプリケーションが呼び出されます)。ただし、プログラムの起動時には設定が読み込まれません。

コマンドラインから直接アプリケーションを手動で起動することで、これを複製できます。アプリケーションが開かれますが、使用可能な設定は最初にアプリケーションと共に出荷された設定だけです。

私の最終的な質問は次のとおりです:私はClickOnceアプリケーションをコマンドラインから呼び出すことができますが、私はスタートメニューから起動したときと同じ方法で開くことができますか?

ありがとう!!

答えて

1

答えは、タスクスケジューラがスタートメニューのショートカットにある.appref-msファイルを起動するように設定されているようです。 .exeファイルだけをポイントすることはできません。

0

これは、コマンドラインが別のユーザーの下でClickOnceアプリケーションを起動したことが原因と考えられます。

コマンドラインまたはタスクスケジューラからClickOnceを起動し、タスクマネージャを読み込んで、アプリケーションが実行されているユーザーを確認してください。ログインしているユーザー以外のユーザーで実行されている場合は、実行中のユーザーとしてログインするか(システムユーザーでない場合)、設定を変更するか、偽装しようとすることができますタスクスケジューラを介して所望のユーザ。

該当しない場合は、コマンドラインスイッチを追加して、設定が見つからなければ、目的の設定と一致するデフォルト設定を保存することができます。

+0

アイデアをお寄せいただき、ありがとうございました。私は(コマンドラインまたはタスクスケジューラを介して)アプリケーションを実行すると、私はそれを呼び出したユーザーであることを示しています。タスクが作成されると、デフォルトでタスクは自分のユーザー名でのみ実行されるように設定されます。 –

+0

コマンドまたはタスクスケジューラを使用してアプリケーションを実行すると、アップデートがあるときにclickonceアプリケーションが更新されますか? – KeithN

+0

短い答え - はい。 –

関連する問題