Windows Service在运行.exe文件时的局限性

时间:2019-02-02 10:07:43

标签: c# windows-services

我正在尝试使用Windows-Service从外部设备获取证书。 应该如何处理当前用户的限制?

我有一个.exe文件,它从额外的设备(令牌)获取证书,并且可以正常工作。但是当它使用WCF从我的Windows服务中调用时,它不会向我显示所有证书。 它会限制用户或应用吗?

static void LaunchCommandLineApp()
    {
        var path = AppDomain.CurrentDomain.BaseDirectory + 
        @"GetCertificate.exe";
        log.Info("LaunchCommandLineApp basePath is : " + 
        AppDomain.CurrentDomain.BaseDirectory);
        log.Info("LaunchCommandLineApp path is : " + path);
        ApplicationLoader.PROCESS_INFORMATION prcInf = new 
        ApplicationLoader.PROCESS_INFORMATION();
        ApplicationLoader.StartProcessAndBypassUAC(path + " -Verb runAs", 
        out prcInf);
        log.Info("After StartProcessAndBypassUAC");
    }

1 个答案:

答案 0 :(得分:0)

我认为您的问题是Windows Service User Account,导致您的exe以该用户而非当前用户身份运行。 read more about Windows Service user accounts

对于Run a process from a windows service as the current user.