2012-03-26 14 views
0

ここでいくつかのトピックを読んでいますが、私の問題の解決策は見つかりませんでした。 Windows起動時に起動するアプリケーション(C#、WPF、EF、SQLサーバーコンパクト)を作成しました。私は2つの方法でそれを達成しようとしました:Windows 7の起動時にプログラムが起動しない

  1. Windows登録を追加します。残念なことにそれはWindows 7で動作しませんでした。ここで、Startupフォルダにショートカットを追加すると問題が解決することがわかりました。
  2. Startupフォルダに自分のアプリケーションのショートカットを追加しました。残念ながら、もう一度動作していません...

私のアプリケーションは、外部DLLのSQL Server compactを使用しているため、管理者権限で始まります。たぶんこれが理由でしょうか?さらに、私のアプリケーションは署名されておらず、そうでないかもしれません。私のアプリケーションでは、wcfサービスを書くことも悪い考えです。

この問題の解決策はありますか?

+0

アプリケーションは何をしますか?たぶんWindowsサービスとして起動しますか? UIが必要な場合は、UIコンポーネントと自動起動バックグラウンドコンポーネントを分けることができますか? – David

+2

タスクスケジューラを試しましたか? http://www.sevenforums.com/tutorials/67503-task-create-run-program-startup-log.html – Tudor

+0

ユーザーがWindows起動時に起動するかどうかを簡単に設定できるアプリケーションです。例えば、誰もがWindowsのスタートアップでサービスを提供するためにはじめてutorrentを始めたいと考えているわけではありません。私のアプリケーションにも同様の機能があると想像することができます。 – nosbor

答えて

0

その問題の解決策ではなく、管理者からのasInvokerに適用するためのアプリケーションフォルダと変更の権限でそれをの埋込みの自分のコンピュータ上でSQL Serverのコンパクトをインストールするには、ユーザーを作ることでした。

2

起動プロセスでUACの昇格を必要とするプログラムを置くことは、Windowsのガイドラインに違反しています(また、オペレーティングシステムによって強制されます)。コンピュータにログオンするたびに標高の入力を促すのは恐ろしいユーザーエクスペリエンスです。

私はサービスにwcf/sqlを組み込み、クライアント側のUI高度を自由に保ちます。

参考:Error message when you start a Windows Vista-based computer: "Windows has blocked some startup programs"

+0

あなたのリンクはそれを手動で行う方法を説明しています。どうすればC#で作ることができますか? 3つの操作が必要です。アプリケーションがWindowsの起動時に起動するように設定されているかどうかを確認し、起動時にアプリケーションを追加し、起動時にアプリケーションを削除します。私はCOMを使いたくない。唯一のネット。 – nosbor

+0

あなたはしません。管理者が実行する必要がないように、アプリケーションをリファクタリングします。 –

関連する問題