如何为任何exe创建设置?

时间:2009-08-12 06:10:24

标签: c#

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

提前致谢, Ravi Naik。

5 个答案:

答案 0 :(得分:7)

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

在选择安装程序策略时,您必须考虑许多问题。其中包括:

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

在回答其中一些问题后,您可以大致了解如何分发软件。然后,您需要考虑各种安装程序,以及Wikipedia has a convenient list that compares them,它们可能会对您有所帮助。

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

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

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

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

  • 添加注册表项以在登录/启动时启动 - MSDN非常清楚地解释here.但是,大多数安装系统允许您自动配置注册表项以进行启动添加。

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

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

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

希望我帮忙!

答案 1 :(得分:4)

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

答案 2 :(得分:2)

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

每当计算机重新启动/您登录时启动它,这是特定于平台的(如果程序是安装程序,则安装程序可以是特定于平台的)。在Windows上,安装程序需要在文件夹

中添加程序的快捷方式
C:\Documents and Settings\All Users\Start Menu\Programs\Startup 

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

答案 3 :(得分:0)

This blog post列出了一些使用Visual Studio的有关安装和部署项目信息的有用链接。

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

答案 4 :(得分:0)

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