如何防止我的C#程序在安装时运行?

时间:2014-01-28 14:26:56

标签: c# installation scheduled-tasks

我正在使用C#开发一个控制台应用程序,它应该只在每周的特定日期/时间运行一次。当我修改,发布和安装应用程序时,安装程​​序始终运行该程序。我必须在我的代码开头添加一个if语句来比较我必须在我重新编译/重新发布时手动更改的当前日期/时间,以确保在安装新版本时程序不运行。虽然这样做有效,但这样做似乎很愚蠢。

我确定我在某个地方错过了一个明显的设置,而我只是在等待一些英雄给我一天的时间。

谢谢!

(编辑以更准确地描述时间表。)

1 个答案:

答案 0 :(得分:2)

如果你的问题是无法控制安装或发布进程是否会运行程序 - 你可以让你的主要运行某个命令行参数,没有它 - 它只会退出。

如果程序是通过调度程序运行的,请让调度程序传入正确的参数。

例如

public static void Main(string[] args)
{
   if (args.Length == 1 && args[0].Equals("NOW_IS_THE_TIME"))
   {
       // Run
   }
}

您还可以在设置中保存一个标记,指示它是否是第一次运行,如Install ClickOnce without running

中提议的那样