Google analytics wix自定义操作发送http post不工作
我有一个自定义操作,可以发送http帖子到google analytics以跟踪安装。我的自定义操作执行其他操作,这些操作正在运行。所以我知道我的自定义操作正在被调用。我正在使用HttpClient,它需要对System.Net.Http的引用。我认为问题在于参考文献。为了确保能找到参考资料,我有什么特别的事情要做吗 我在一个单独的项目中测试了代码,以确保代码能够正常工作,而且确实如此。当我尝试运行msi时,它只是无法安装。我将整个http post放在一个try语句中,以完成此操作,因此至少安装不会失败 有人知道它可能是什么或检查什么吗 更新评论:为了解决否决票问题:由于MSI技术的整体性质,不建议在MSI设置中访问Internet。这是一项古老的技术,不是为互联网时代设计的。早在90年代,它就被设计用来安装Microsoft Office(尽管有传言说Windows应用商店可能允许MSI文件在2021年下载) 甚至从自定义操作访问本地网络也很困难,因为 在延迟模式下运行时模拟为系统(自定义 具有系统管理员访问权限的操作) 正常情况下,Google analytics wix自定义操作发送http post不工作,google-analytics,wix,windows-installer,http-post,Google Analytics,Wix,Windows Installer,Http Post,我有一个自定义操作,可以发送http帖子到google analytics以跟踪安装。我的自定义操作执行其他操作,这些操作正在运行。所以我知道我的自定义操作正在被调用。我正在使用HttpClient,它需要对System.Net.Http的引用。我认为问题在于参考文献。为了确保能找到参考资料,我有什么特别的事情要做吗 我在一个单独的项目中测试了代码,以确保代码能够正常工作,而且确实如此。当我尝试运行msi时,它只是无法安装。我将整个http post放在一个try语句中,以完成此操作,因此至少安
系统
上下文可以通过
这台机器只有一个帐户地图是
代理服务器
,防火墙
,安全软件
和其他机制
可能会产生干扰
使用非系统上下文自定义操作尝试访问Internet。
部署包时,也可能没有用户登录
默默地
只需向注册表写入一个标志,让应用程序在应用程序启动时报告新安装或更新
代理服务器上的注意事项:表示机器没有直接的Internet访问权限,但必须通过专用于“网关”的机器访问Internet。回想当年,我常常通过阅读IE设置来“发现”代理设置,但总的来说:不要假设可以直接访问互联网
出于可靠性原因,设置不应该做这样复杂的事情您可以在应用程序中执行此操作吗?然后您将处于一个更可预测的模拟环境中,具有完全的Internet访问和用户交互功能(如果需要)。更可靠、更容易调试,并且您可以与用户交互以解决连接问题。如果一开始失败,你可以再试很多次。相比之下,设置是“一次性的”,调试起来要困难得多 请记住,大多数公司部署都是在静默安装模式下完成的。当安装程序在静默模式下运行时,您必须抑制所有可能需要Internet访问或某种交互的奇特功能。通过设置访问互联网是一种反模式,至少目前如此,未来的在线部署技术可能会改变这一事实。但是,在静默的公司安装过程中,您的安装程序可能会在系统上下文中运行,根本无法访问Internet(系统帐户无法访问Internet-除非网络设置疯狂)。您在尝试连接和触发异常时也可能导致崩溃,您还可能触发安全软件干扰——这种情况发生在“异常设置行为”中 即使用户使用正确的用户上下文运行您的安装程序,也可能有一个代理服务器,您必须使用该服务器访问web,然后您的连接仍将失败,除非您从系统检索代理设置。我从来没有在安装中这样做过——同样,因为在我看来,安装不应该要求互联网接入 请记住,.NET framework在所有操作系统版本的所有“通用版本”中仍然不可用 希望这对你有意义请将此功能放入应用程序中。在操作运行后标记注册表-如果它只运行一次。如果您在那里打开一些ACL以允许任何人写入标志,您甚至可以向HKLM写入
更新:缩短摘要。如果出现以下情况,则在设置中执行此操作将失败:
- 越来越少的问题,但仍然在这里和那里失踪
- 防病毒/恶意软件保护
- 防火墙(阻止msiexec.exe)