现在很多防火墙都具备了检测程序是否改变的功能,如果改变了会再次弹出规则设置框问你是否允许其访问网络。 比如天网、金山等等 都是这样     可是如果一个程序每次更新(我准备使用自动更新)都要用户设置防火墙势必影响用户的好感度,不知该如何解决特此前来求助。     我最终希望的结果是这样,程序安装成功第一次使用 防火墙会出现规则设置,而当我以后程序升级之后,避免防火墙出现设置。     初次前来CSDN,望各位多多指教:)

解决方案 »

  1.   

    程序本身发生了改变,防火墙报警是不可避免的。要不然你可以把更新放在DLL里试试。
      

  2.   

    如果是Dll的话,请问是不是每次更新了需要重新注册这个dll呢?
      

  3.   

    现在我已经编好了 exe我现在想像您说的那样,把exe 改成 ActiveX dll。可是dll不是很熟悉,遇到点问题。我现在是这样做的改变原工程类型从 标准exe-->ActiveX dll,启动 none。在工程中加入Class写入
    Sub Main()
    frmPeerA.Show
    End Sub生成test1.dll新建一个 标准exe
    写入
    Private Declare Function main Lib "test1.dll" Alias "Main" ()Private Sub Form_Load()
    Me.Hide
    main
    End Sub ==================
    运行结果 找不到dll入口点 in test1.dll
      

  4.   

    查了下 说 activeX dll 不能这样用要用对象于是
    标准exe 改成了
    Private Sub Form_Load()
    Me.Hide
    Shell "regsvr32 test1.dll"
        Dim obj As Object
        Set obj = CreateObject("test1.class1")
        obj.main
        
    End Sub现在提示:activeX 不能创建对象
      

  5.   

    已经解决,dll的工程名忘记改了。 等下做防火墙测试看看行不行,理论上没问题了。
      

  6.   

    测试完毕一切正常 Thank You~~