[Tips] 使用 RemoteApp 方式访问远程桌面上的应用程序
使用 RemoteApp 方式访问远程桌面上的应用程序
补充这篇日志纯粹是为了方便自己,经验技巧当然是很早以前的!原因是最近经常要访问笔记本上的应用,但又不想基于远程桌面环境,所以直接以应用窗口模式打开远程桌面上的应用是最为合适的。这里要用的到就是RemoteApp,而该技术在客户端系统上也能够通过修改注册表来实现。
下面就是一个设置的例子:
- 打开注册表编辑器定位到HKLM\software\microsoft\windowsnt\currentversion\terminalserver\tsappallowlist
- 在路径下新建名为 applications 的项,然后在该项下创建需要发布的应用程序的项,名字可自行命名,例如 notepad
- 在 notepad 项下创建名为 name 和 path 的字符串,各自的值分别为 Notepad 和 c:\windows\system32\notepad.exe
- 回到路径 tsappallowlist,修改fdisableallowlist的值为 1
- 现在创建一个远程桌面连接,保存到桌面可命名为remoteapp-notepad.rdp
- 修改和添加该文件内容如下:
a) remoteapplicationmode:i:1
b) remoteapplicationprogram:s:notepad
c) disableremoteappcapscheck:i:1
d) alternate shell:s:rdpinit.exe
OK,双击这个 RDP 便可直接打开远程桌面环境下的 Notepad 程序,显示的界面仅仅是 Notepad 的窗体,这样可方便的在本地和远程之间切换使用,像使用本地程序一样。运行状态如下面截图所示:
目前尚未解决的问题是无法执行 Office 应用程序,可能受限于授权模式,还有待继续研究!但是可以通过运行的Notepad调用Explorer定位到Office2016的程序路径打开执行。
针对 Windows 10 访问 Outlook 中 URL 的问题补充
针对 Windows 10 访问 Outlook 中 URL 的问题补充
问题回顾《HOWTO: 解决 Windows 10 访问 Outlook 中的 URL 时提示"你要如何打开此文件" 》,微软官方的 KB3094186 确认Outlook 2007/2010 在 Windows 10 上设置 IE11 为默认浏览器时会导致相关注册表数据丢失而引发故障的发生。解决途径是使用微软的 easyfix 20155 进行修复,该修复工具其实是在注册表中对HTMLFILE新增了的“新开”指令。即“HKCR\htmlfile\shell”下新建名为“opennew\command”的项,其默认值为一段 CMD 指令“cmd /c start %1”,微软解释添加该指令后便可解决在 Outlook 中打开 URL 时总提示用哪个浏览器打开的问题,并且打开的 URL 会在当前 IE 的新选项卡中打开,以避免每点击一次 URL 都打开一个新的 IE 进程。当然,如果不介意的话,也可以直接指定 iexplore.exe %1 来执行。
早先看到这个解决方案的时候就挺纳闷,为了解决是新选项卡还是新窗口打开就要通过 cmd 调用 start 来执行,有违程序设计和开发常理,实在不够严谨。果然,后续就遇到了问题!!!如果 Outlook 中邮件内容里的 URL 包含 & 符号,那么最终被打开的 URL 将会被自动截断,这是因为 CMD 环境下,也就是我们常说的命令行会将 & 符号识别为连续执行命令符号,也就是说会把 & 符号后面的内容识别为一段命令,结果可想而知!IE 在经过 CMD 和 Start 的辗转调用后,最终得到的 URL 已经面目全非!
如果我们试图为 %1 添加双引号,那么 Outlook 中的 URL 会完整的传递给 start ,但由于地址在双引号中,所以低级的 start 已经无法识别这个链接中的 http://,也就不会自动调用 IE 去打开 http 协议类型的内容,除非双引号中只有地址,例如:http://”www.contoso.com/index.do?method=view&fdid=158¬ifytype=2”,可是要实现这样的格式写法恐怕不现实!(开发人员不会放过你的 )
折中的办法就是修改调用命令,改用 iexplore.exe %1 来执行,但引发的问题就是每次都要打开一个新 IE 进程,否则就改回 Edge 浏览器,因为使用 Edge 绝对不会遇到这个问题。鉴于 Office 2007 /2010 的主流支持生命周期因素,在 Windows 10 上还是尽量使用最新版的 Office 最为妥当!
[Tips] HOWTO: 解决 Windows 10 无法运行 exe 格式安装包
HOWTO: 解决 Windows 10 无法运行 exe 格式安装包
基于 Windows 10 14393.0 制作用于批量部署的系统参考镜像,除了安装了基本的应用程序外,未安装第三方的防病毒或其他安全软件。但发现在系统上可以执行安装 MSI 格式的安装包,但注入驱动和小应用一类的 exe 格式安装包在双击后不会运行,也没有任何提示,通过任务管理器查看未发现在后台运行。在管理员模式的 CMD 下却能够执行,怀疑与用户账户控制(UAC)有关。随后调整 UAC 设置将从不通知改为默认设置后,exe 安装包能够运行,但是会被 SmartScreen 筛选器拦截,尝试修改 UAC 为从不通知,即关闭 UAC 功能,然后进入 设置 - 隐私 - 常规,关闭 SmartScreen 筛选器。
为了彻底关闭 SmartScreen,还需要进入控制面板 - 安全和维护,更改 Windows SmartScreen 筛选器设置,确认“不执行任务操作(关闭 Windows SmartScreen 筛选器)”。
通过上述步骤调整后,在 UAC 关闭状态下,已经够能正常执行 exe 格式安装包,后续步骤建议对系统完整性进行检测,确保非系统文件破坏所致,为此可执行如下命令行:
DISM / Online / Cleanup-image / Scanhealth
DISM / Online / Cleanup-image / Restorehealth
Sfc / scannow