如何为msi(wix)设置安装目录的随机名称

时间:2014-12-22 11:55:28

标签: vbscript wix windows-installer

Wix开发者!

是否可以借助property或vbscript自定义操作为安装目录名指定随机名称?...

我有以下Product.wxs:

<Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLLOCATION" Name="Client">
          <Component Id="ProductComponent">
            <File Id="File001" Source="..\Release\One.dll" />
          </Component>
...

准备安装目录如: C:\ Program Files(x86)\ Client

我需要这样的 C:\ Program Files(x86)\ 234wfdasdqaw 其中“234wfdasdqaw”随机字符串在每种情况下生成的时间 a)运行msi进行安装 b)如果管理员没有通过命令行设置INSTALLLOCATION。

有可能吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

您需要自定义操作来随机生成字符串,然后需要类型51(设置属性)自定义操作,以便将INSTALLLOCATION设置为计算值,如果1)它还没有值和2 )产品尚未安装。我不会在ProgramFilesFolder的根目录中这样做,因为那会非常混乱。至少在[ProgramFilesFolder] Company或[ProgramFilesFolder] Product中进行。您的问题让我想知道您是否计划再次安装此MSI。请注意,多次安装MSI需要特殊的技巧。