程序不是从Windows 7启动时开始的

时间:2012-03-26 19:45:25

标签: c# .net windows-7 startup

我在这里阅读了一些主题,但我没有找到问题的解决方案。 我编写了应该在Windows启动时启动的应用程序(C#,WPF,EF,sql server compact)。我试图通过两种方式实现这一目标:

  1. 向Windows注册表添加条目。不幸的是,这在Windows 7上不起作用。我在这里发现添加一个快捷方式到Startup文件夹可以解决我的问题......
  2. 我在Startup文件夹中添加了应用程序的快捷方式。不幸的是,它不起作用......
  3. 我的应用程序以管理员权限开始,因为正在使用外部dll的sql server compact。也许这是理由?另外我的申请没有签名,可能不会。在我的应用程序中编写wcf服务也不错。

    您对此问题有任何建议或解决方案吗?

2 个答案:

答案 0 :(得分:2)

在启动过程中放置​​需要UAC提升的程序是违反Windows准则(并由操作系统强制执行)的。每次登录计算机时都会提示提升,这是一种糟糕的用户体验。

我会将wcf / sql纳入服务并保持客户端UI高度不受影响。

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

答案 1 :(得分:0)

该问题的解决方案是让用户在自己的计算机上安装sql server compact,而不是将其嵌入应用程序文件夹中,并将应用程序的权限从admin更改为asInvoker。