使用自我代码签名证书进行发布目的

问题描述 投票:0回答:1

我在本主题中进行了很多次搜索,但没有走运,我在WPF上有一个应用程序,该应用程序使用Click Click来发布,因此无法使用Admin Privilege,因此我需要在安装过程中执行一些操作,例如重新启动以SQL Server为例,为此,我需要管理员权限,并且由于必须立即删除管理员权限才能开始使用click进行发布,因此我尝试使用以下代码重新启动我的应用程序以强制使用管理员权限,但此方法不起作用

Public Function IsRunAsAdmin() As Boolean
    Try
        Dim id As WindowsIdentity = WindowsIdentity.GetCurrent()
        Dim principal As WindowsPrincipal = New WindowsPrincipal(id)
        Return principal.IsInRole(WindowsBuiltInRole.Administrator)
    Catch __unusedException1__ As Exception
        Return False
    End Try
End Function

Public Sub AdminRelauncher()
    If Not IsRunAsAdmin() Then
        Dim proc As ProcessStartInfo = New ProcessStartInfo()
        Dim procExecuting As New Process
        proc.UseShellExecute = True
        proc.WorkingDirectory = Environment.CurrentDirectory
        proc.FileName = Assembly.GetEntryAssembly().CodeBase
        proc.Verb = "runas"
        Try
            procExecuting = Process.Start(proc)
            Application.ExitThread()
            Application.Exit()
        Catch ex As Exception
            Console.WriteLine("This program must be run as an administrator! " & vbLf & vbLf & ex.ToString())
        End Try
    End If
End Sub

我搜索后当然仍然发现错误消息“无法在计算机上打开MSSQL $ ******”,我发现原因是需要管理员权限。所以现在我正在研究代码签名证书,因为有人建议我这对我有用。但是我是个人,我的申请价格还不够高,无法购买付费证书,因此我想知道我是否可以制作一个自我代码签名证书并单击一下即可使用。谢谢。

vb.net clickonce
1个回答
0
投票

我终于设法弄清楚我自己的问题,这是管理员权限。问题是代码只需要大约2-3英里秒即可执行,因此当我跟踪代码时,我发现我的代码确实确实停止了该服务,但由于没有花费时间而无法再次启动它使服务完全停止。

© www.soinside.com 2019 - 2024. All rights reserved.