【问题标题】:How do I add netsh advfirewall context command in Visual Studio 2010 Click Once publishing?如何在 Visual Studio 2010 中添加 netsh advfirewall 上下文命令单击一次发布?
【发布时间】:2010-12-22 22:19:11
【问题描述】:

我有一个需要通过防火墙访问的 .Net 4.0 Windows 应用程序。我知道 netsh advfirewall 防火墙命令,但我非常希望在安装时允许该程序(单击一次部署)。

如何添加此命令以作为安装后命令执行,以管理员身份执行 - 即进行安装的人不必单独执行 netsh advfirewall 命令或不必去防火墙并手动添加允许列表中的程序。

我在 Visual Studio 2010 的“发布”中找不到插入安装后命令行执行的区域。

【问题讨论】:

    标签: visual-studio-2010 clickonce netsh


    【解决方案1】:

    您不能有安装后命令。如果你想执行一个命令,你需要在它启动后从你的应用程序中执行它......

    if (ApplicationDeployment.IsNetworkDeployed && ApplicationDeployment.CurrentDeployment.IsFirstRun)
    {
        //run something    
    }
    

    您无法强制它以管理员身份运行。它将以用户拥有的相同权限运行。

    【讨论】:

    • 谢谢Whatknott。所以你说的是 ClickOnce 部署是有限的,即无法配置应用程序安装以将自身添加到防火墙允许的程序列表中。
    • 正确。 ClickOnce 基本上将文件从服务器复制到客户端,并在服务器文件更新时使它们保持同步。而已。它可以做一些有限的事情(例如创建桌面快捷方式),但除此之外它是有限的。 ClickOnce 的简单性既是最好的,也是最坏的 :)。除非您的应用程序定期更改,否则您可能只想查看传统的 msi 安装。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 2012-03-24
    • 1970-01-01
    相关资源
    最近更新 更多