安装在非开发人员用户

时间:2017-11-16 14:59:13

标签: c# wpf timer installshield-le

我最近创建了一个WPF应用程序,我在其中使用InstallShield Limited Edition项目进行设置和deplotment,以创建一个exe文件。 这样做是因为我可以将它安装在需要它的地方,但是在另一台PC上安装程序后不久我遇到了麻烦。 程序安装正确(我相信),但我遇到了我正在使用的计时器的问题。 (System.Timers.Timer)没有触发和/或处理这些不是开发PC的其他PC(即没有VS15 / 17)。 该程序仅在开发PC上使用时才有效。

我试图弄清楚为什么它不起作用,我无法弄清楚他们缺少什么工作。 PC都有他们应该使用的Microsoft框架(4.5及以上版本),所以我的想法已经用完了。

此行位于MainWindow

的构造函数内
crashCheckTimer = new System.Timers.Timer(_waitTime);

SetTimer方法

private void SetTimer(bool start)
    {
        // Hook up the Elapsed event for the timer. 
        try
        {
            crashCheckTimer.Enabled = start;
            crashCheckTimer.AutoReset = true;
            crashCheckTimer.Elapsed += CrashCheckEvent;
        }
        catch (Exception ex)
        {
            logBuilder.ErrorLogCreation(ex, DateTime.Now, "SetTimer", NumberOfFilesToKeep);
            throw;
        }

    }

CrashCheckEvent只运行一些代码,但从未在非开发人员的PC上调用

更新 我根据同事的建议将Timers.Timer更改为Dispatcher.Timer,这似乎解决了我再次触发计时器的问题。

0 个答案:

没有答案