TranslateIP For StoreFront V2

Translate for Storefront从最初发布到现在已经过去了超过5年时间,目前仍然时不时有人来咨询具体的使用问题,所以决定对过去收集到的一些问题进行集中处理,过程中由于系统以及StoreFront的一些限制,于是重构了所有代码以及配置文件,以便后续的维护和使用。

旧版本中存在的一些限制和问题

  • 对于通过WebHelper方式调用的浏览器或者终端无法进行修改。比如Chrome浏览器就是使用的这种方式,在点击应用的时候,Storefront会返回一个链接(而不是常规的ICA文件),而后调用Receiver的过程中传递过去,Receiver再来通过链接下载ICA文件。
  • 由于IIS Module权限的问题,导致配置文件以及写日志文件存在权限问题,配置过程中较为复杂,所以,在最开始的时候就决定不引入日志,从而导致后续出问题后troubleshooting比较困难。

Translate IP for StoreFront v2 部署方法如下

  1. 复制 StoreCustomization_Launch.dll 到对应Store的Bin目录:
  2. 复制并替换完成后,默认会立即重新加载,不需要iisreset或者重启服务器就会生效
  3. 修改Store\Web.config,并添加Translate规则配置

[alert type=”info”]注意:

  1. 对于每个ICA请求,只有Add Key指定的IP地址匹配了ICA文件中Address中的IP才会进行修改,否则跳过
  2. Value中规则以英文逗号分隔,分割后参数个数应为双数,也就是每两个一组。针对每一组,在ICA文件中搜索第一部分字符,然后替换为第二部分。所以,可以看到在示例中,第一条指定两组(4个逗号分隔的字符串),分别用来处理1494和2598两个端口。
  3. 同理,最后一条规则,根据字符串替换的原理,可以用来替换任何ICA文件中的设置

[/alert]

Troubleshooting

排错的话,主要使用的工具为DebugView

  1. 下载DbgView之后,在Storefront上打开并运行
  2. 菜单Capture中勾选Capture Global Win32。否则的话,无法看到任何日志
  3. 通过快捷键CRTL+L打开Filter设置,然后输入TranslateIP并点击OK,或者如下图所示操作。
  4. CRTL+X清除之前的日志
  5. 到此一切设置完成,重现问题即可。示例日志如下:

下载地址

  StoreCustomization_Launch (3.8 KiB, 241 次)