实时生成MSI文件
Real-time generation of MSI files
我需要客户下载带有轻微定制代码的 MSI,以便设置唯一的注册表值。当他们安装 MSI 时,我需要知道他们的 客户端 ID,而无需他们输入。特别是因为 MSI 将通过组策略部署。
在我的测试阶段,我在我的 Wix 安装程序中硬编码了一个注册表项:
<RegistryValue Type="integer" Name="customer" Value="1" KeyPath="yes"/>
我考虑过生成一个 'standard' MSI 并使用包含客户端 ID 的文本文件将其压缩并让安装程序读取它并写入注册表——但我宁愿有一个文件管理员可以从他们的 'web portal' 下载并安装。
我还考虑过使用 IIS 设置 Windows 服务器,并使用在 Visual Studio 中开发的简单网络应用程序接受 ?client_id=blah 参数,然后生成 MSI在后台,然后 return 在 HTTP 响应中。虽然这似乎是一个很好的解决方案,但我在 .NET 开发方面非常菜鸟。
是否有任何工具或技巧可用于按需生成具有此类自定义功能的 MSI?
理想情况下,我喜欢 'free' 解决方案,但我意识到可能没有。我愿意接受涉及支付服务费用或购买包裹的解决方案。
我会将您的客户端 ID 分解为 属性,然后编写一些自定义自动化程序以生成修改 MSI 的副本,然后根据需要进行代码签名。然后用户下载 MSI 的副本。
这是几乎任何语言都可能实现的最少代码量。
我需要客户下载带有轻微定制代码的 MSI,以便设置唯一的注册表值。当他们安装 MSI 时,我需要知道他们的 客户端 ID,而无需他们输入。特别是因为 MSI 将通过组策略部署。
在我的测试阶段,我在我的 Wix 安装程序中硬编码了一个注册表项:
<RegistryValue Type="integer" Name="customer" Value="1" KeyPath="yes"/>
我考虑过生成一个 'standard' MSI 并使用包含客户端 ID 的文本文件将其压缩并让安装程序读取它并写入注册表——但我宁愿有一个文件管理员可以从他们的 'web portal' 下载并安装。
我还考虑过使用 IIS 设置 Windows 服务器,并使用在 Visual Studio 中开发的简单网络应用程序接受 ?client_id=blah 参数,然后生成 MSI在后台,然后 return 在 HTTP 响应中。虽然这似乎是一个很好的解决方案,但我在 .NET 开发方面非常菜鸟。
是否有任何工具或技巧可用于按需生成具有此类自定义功能的 MSI?
理想情况下,我喜欢 'free' 解决方案,但我意识到可能没有。我愿意接受涉及支付服务费用或购买包裹的解决方案。
我会将您的客户端 ID 分解为 属性,然后编写一些自定义自动化程序以生成修改 MSI 的副本,然后根据需要进行代码签名。然后用户下载 MSI 的副本。
这是几乎任何语言都可能实现的最少代码量。