Windows installer 从需要公共属性的基本MSI创建MSI

Windows installer 从需要公共属性的基本MSI创建MSI,windows-installer,Windows Installer,我有一个带有公共属性CUSTOMERID的msi。这是基本MSI。当客户登录下载MSI时,下载的MSI应根据登录设置CUSROMERID。基本上,我想创建一个自定义MSI,从基本MSI设置公共属性,以便客户可以将其重新分发给他的用户。 有人可以帮忙吗。如果您只是手工创建一些,您可以使用类似的工具来编辑属性表 如果您想编写操作脚本,以便可以执行数百次或动态操作,那么只需使用SDK工具,您可能需要执行一些操作,例如仅使用CUSTOMERID属性创建修补程序,并使用MSIDB将其合并到主MSI中。或者

我有一个带有公共属性CUSTOMERID的msi。这是基本MSI。当客户登录下载MSI时,下载的MSI应根据登录设置CUSROMERID。基本上,我想创建一个自定义MSI,从基本MSI设置公共属性,以便客户可以将其重新分发给他的用户。
有人可以帮忙吗。

如果您只是手工创建一些,您可以使用类似的工具来编辑属性表

如果您想编写操作脚本,以便可以执行数百次或动态操作,那么只需使用SDK工具,您可能需要执行一些操作,例如仅使用CUSTOMERID属性创建修补程序,并使用MSIDB将其合并到主MSI中。或者像InstallShield和Wise这样的商业打包工具可以编写脚本来完成这类工作


另一方面,我可以看到不想这样做的原因,相反,我更愿意在安装过程中询问客户的ID号,以此作为非法复制的威慑。同样,如果用户在以后尝试进行修复或自愈时也会收到提示,并且他们手头上没有原始订单信息,那么这可能会很烦人。但那当然是你的选择

你已经告诉我们你认为你想如何实现这一点,但我不清楚你在这里真正想要实现什么。从命令行设置公共属性很容易,或者编辑和修改.msi文件以将其包含在转换中,或者如果不关心数字签名,则可以直接编辑和修改。但将其称为base.msi表明您正在寻找某种.msi模板系统。您能否澄清您试图启用的场景,而不是您认为应该如何启用?我想编辑msi文件以存储基于哪个客户正在下载msi的公共属性。我不想从命令行执行此操作,因为客户信息在安装后丢失。