gpt4 book ai didi

google-analytics - wix 自定义操作发送 http 帖子不起作用

转载 作者:行者123 更新时间:2023-12-03 17:08:48 29 4
gpt4 key购买 nike

我有一个自定义操作来做一个 http 帖子发送到谷歌分析以跟踪安装。我的自定义操作会做其他事情,并且这些事情正在发挥作用。所以我知道我的自定义操作正在被调用。我正在使用需要引用 System.Net.Http 的 HttpClient。我认为问题在于引用。为了确保可以找到引用,我需要做些什么特别的事情吗?

我在一个单独的项目中测试了代码,以确保代码有效,并且确实有效。当我尝试运行 msi 时,它只是无法安装。我将整个 http 帖子放在一个 try 语句中来解决这个问题,所以至少安装不会失败。

有人对它可能是什么或要检查什么有任何想法吗?

最佳答案

UPDATED COMMENTS: In order to address the downvotes: accessing the Internet in your MSI setup is not advisable due to the overall nature of the MSI technology. It is an old technology not designed for the Internet age. It was designed to install Microsoft Office way back in the 90s (though there are rumors that the Windows Store might allow MSI files to be downloaded now in 2021).

Even accessing the local network from custom actions is difficult dueto impersonation as SYSTEM when running in deferred mode (customactions with admin access to system).

The normal situation is that SYSTEM context can access the network viathe machine account only. See mind map of this - the map isbased on this SO answer.

Proxy servers, firewalls, security software and other mechanisms can interferewith non-system context custom actions trying to access the Internet.There could also be no user logged on when the package is deployedsilently.

Just write a flag to the registry and have the application report the fresh install or update on application launch instead?

Note on proxy servers: a proxy server for Internet access means the machine does not have direct Internet access, but must access the Internet via a machine dedicated as a "gateway". Back in the day I used to "discover" the proxy settings by reading IE settings, but overall: don't assume direct Internet access is available.



出于可靠性原因,设置不应该做这样复杂的事情。 您可以在您的应用程序中执行此操作吗? 然后,您将处于更可预测的模拟环境中,具有完全的 Internet 访问权限和用户交互性(如果需要)。更可靠,更易于调试,并且您可以与用户进行交互以解决连接问题。如果一开始失败,你可以再试很多次。相比之下,设置是“一次性的” - 并且更难调试。
请记住,大多数企业部署都是在静默安装模式下完成的 .当设置在 中运行时静音模式 ,您必须禁止所有可能需要 Internet 访问或某种交互性的花哨功能。从设置访问 Internet 是 反模式 - 至少现在 - future 的在线部署技术可能会改变这一事实。但是,在静默的企业安装期间,您的设置可能会在 中运行。系统上下文 根本无法访问 Internet(SYSTEM 帐户无法访问 Internet - 除非网络设置很疯狂)。尝试连接并触发异常也可能导致崩溃,您可能会触发 安全软件干扰以及 - 它发生在“不寻常的设置行为”。
即使用户使用正确的用户上下文运行您的设置,也可能会出现 代理服务器 您必须使用 - 访问网络,然后您的连接仍然会失败,除非您从系统中检索代理设置。我从来没有在设置中这样做过 - 再次,因为在我看来设置不应该需要互联网访问。
请记住,并非所有操作系统版本的所有“通用版本”都提供 .NET 框架。
希望这对你有意义。 请将此功能放入您的应用程序中 .操作运行后标记注册表 - 如果它应该只运行一次。如果您在那里打开一些 ACL 以允许任何人写入标志,您甚至可以写信给 HKLM。

更新 : 简短的总结。如果出现以下情况,在您的设置中执行此操作将失败:
  • .NET 框架丢失、禁用或版本错误
  • 越来越少的问题,但仍然到处丢失

  • Internet 访问需要 Internet 代理
  • 使用延迟模式 CA(用于读/写系统访问)(不允许 Internet 访问)
  • 通过分发系统进行静默安装(应该不允许 Internet 访问)
  • 交互式静默安装(很可能失败,取决于)
  • 可能存在来自安全软件的干扰(异常设置事件)。
  • 防病毒/恶意软件防护
  • 防火墙(阻止 msiexec.exe)

  • 图形用户界面要求?您是否尝试从控制台应用程序运行组件?
  • 关于google-analytics - wix 自定义操作发送 http 帖子不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49932955/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com