安装程序到客户端后,客户端没有办法运行(估计没有执行文件)。只能通过网页登陆门户网站后,点击运行程序。
要求如上。
大家侃侃如何实现。

解决方案 »

  1.   

    我记得以前用QQGame好像有这个效果,不知道怎么做的
      

  2.   

    在启动程序时判断本地是否有全部的必需文件,如果没有则启动浏览器(把网址作为浏览器的参数)if(! AppDir.ContainsAllNeededFiles()) {
       RunShell("iexplore www.sina.com.cn"));
    }
      

  3.   

    我看过这个的例子,例如网上qq的例子。
    在注册表中写上的也是该EXE的路径,然后通过网页的链接就可以了。这里有exe,那就不满足在客户端不允许直接登陆系统的要求了。我的想法是写activeX,然后调用该系统,这样的话,就需要引用该系统,而且将其编译为类库形式。这不是不适合系统的版本升级。而且activeX引用这么调用的主进程是ActiveX本身,这就更糟糕了。楼上还有人说检查cookie,是否说的是系统启动参数要正确接收cookie在可以启动呢?对于用C#的NF开发的winform应该如何实现。谢谢
      

  4.   

    1,把程序exe改名为其他文件.2,输入 www.你们.com 在你们站上点访问软件3,aspx接到这个请求,回执一个允许访问的MD5字符串.并且存库.并且附带一个类似病毒原理的脚本给客户,这个脚本的原理是启动该用户预装的EXE. (第1步的时候被你改名字了)4,用户目录里的EXE文件接到JS调用请求 立刻执行,并且验证JS传递过来的MD5码是否和服务器数据库存储的相互吻合.不吻合就判定用户非常规手段启动,立刻跳出.5...  目的达到.6...  第3个步骤的js脚本是难点.我也不了解是否会被杀毒软件拦截以及是否有不被拦截的方法.
      

  5.   

    整个webservice,动态加载。没加载上就退出。
      

  6.   

    发布成ClickOnce  设置成只允许online使用
    在appload的时候判断是不是从deployment启动的  不是就退出程序这样一来  别人只有从你的网站上的链接来打开应用程序  而且clickonce还方便你发布更新
      

  7.   

    通过C/S做个运行IE的可执行程序.exe 然后运行这个,如果不用.exe 不知道怎么搞。
      

  8.   

    我记得有个游戏是那种  dnf韩服版的  你可以去看一下
      

  9.   

    CS客户端登录和BS登录加个标示算了
      

  10.   

    调用的方式我的确就是使用activeX。process.Start的方式调用。这样可是要我有exe文件。
    16楼的方式将exe改名,其实有点掩人耳目。并不完全是为了不允许客户端的登陆要求。现在我的初步解决方案是:
    修改系统登陆时的方法,接收一个特殊的参数请求(在AcitveX调用的将传给他该参数,直接运行就没有该参数)。
    其实,这种方式也是可以简单使用,如果有人命令行中将该参数启动系统,还是可以的。
    另外:问一下,如果将系统编译为类库,在ActiveX中通过反射来调用登陆界面,会有问题吗?(我个人觉得问题可能是ActiveX既然做为主进程,如果我关掉页面,可能将关掉系统,而且,ActiveX需要引用整个项目,这也很奇怪)
    总之,看看大家还有什么方法。
      

  11.   

    这个最简单也最有效...用ActiveX是自找麻烦...
      

  12.   


    clickonce我知道可以 ,不过我记得好像clickonce部署的安装包是没有修改注册表的,这样不符合我系统安装的要求啊。
      

  13.   

    这还不容易吗,部署的应用程序如a.exe其实是个简单的程序,比如一运行只提示 请登陆XXX
    登陆后点运行,下载真正的a.exe
    如果需要每次都这样,那就做个服务,每次都监控网站是否打开,没打开就删除a.exe或替换a.exe为假的
    登陆网站后再下载真的
      

  14.   


    对了,asp得到请求,就MD5写数据库。然后将这个MD5作为启动系统的参数。应该可以。