如何为任何exe创建设置?

我有点net exe,我想为此创建一个设置,在任何登录或重启后,这个exe应该自动调用。

提前谢谢Ravi Naik。

在部署.NET应用程序时,有多种方法可以应对此挑战。

选择安装程序策略时,您需要考虑许多问题。 这些包括:

  • 我该如何计划发布此软件?
  • 软件应该以任何方式连接到互联网吗?
  • 用户的软件目标是什么?
  • 这些用户是否具有特定的计算机安装,例如所有已安装.NET Framework的用户?
  • 我该如何处理软件更新问题?

在回答了其中一些问题后,您可以大致了解如何分发软件。 然后,您需要考虑各种安装程序, 维基百科有一个方便的列表来比较它们 ,这可能对您有所帮助。

以下是可能适合您的一些示例:

  • Visual Studio内置的ClickOnce部署 – 我目前最喜欢的方式,因为这对用户和开发人员来说是最简单的,因为更新和交互非常简单
  • NSIS (Nullsoft Scriptable Install System),这种安装程序的开源脚本系统。 可以在此处找到有关使用NSIS打包和检查.NET Framework的精彩教程。
  • InstallShield(来自Macrovision) – 一个使用频繁的安装程序系统,但与其他解决方案不同,这个系统不是免费的
  • DreamShield – 我没有尝试过这个,但它似乎是一个可行的解决方案。
  • WiX (使用Visual Studio插件)

应用程序的部署是软件开发中非常困难的一部分,尤其是在.NET中,因为我们怎么知道,例如,潜在用户是否已在其系统上安装了.NET Framework? 或者安装了什么版本? 因此,我们必须使用ClickOnce和NSIS等工具来提供帮助。

关于如何在登录时立即启动应用程序的问题,有四种方法可以解决此问题:

  • 添加注册表项以在登录/启动时启动 – MSDN 在此解释得非常好。 但是,大多数安装系统允许您自动配置注册表项以进行启动添加。

  • 使用Windows任务计划程序计划“任务”,换句话说,创建在启动时运行的任务。 这里有一个.NET库,我已经在我的两个按特定时间表运行的应用程序中使用它,它运行得很好!

  • 将可执行文件的路径添加到位于C:\Documents and Settings\All Users\Start Menu\Programs\Startup的Startup文件夹中(适用于所有用户 – 对于单个用户,您可以自定义该路径中的用户名)。 顺便说一句,该位置在Windows XP中,在其他版本的Windows中可能会有所不同。

  • 如果您的应用程序是Windows服务,您可以通过svchost自动启动启动! 有一个简单的服务配置,您可以完成此任务。

希望我帮忙!

您可以将Inno Setup用于其他答案中描述的特定任务。

通过设置,我将假设你的意思是传统的安装程序。 一个很好的开源解决方案是NSIS 。 如果这不起作用, 这里有一个更完整的列表。

至于计算机重新启动/登录时启动它,这是特定于平台的(如果程序是安装程序,则安装程序可以是特定于平台的)。 在Windows上,安装程序需要在文件夹中为程序添加快捷方式

 C:\Documents and Settings\All Users\Start Menu\Programs\Startup 

(这是简单的方法,肯定有更复杂的注册表设置)。

此博客文章列出了一些有用的链接,这些链接指向使用Visual Studio的安装和部署项目。

您还可以使用关键字“.net部署项目”进行谷歌搜索。

虽然不是特定于.NET的,但您可以尝试使用InstallJammer 。 它的开源和多平台。