Wix 3.5 - 如何在用户自定义路径中添加appname目录

时间:2014-08-13 07:34:25

标签: wix customization relative-path wix3.5 sharpdevelop

我正在使用WiX和Sharpdevelop 4.4(使用WiX 3.5)创建安装程序。

这是我第一次使用Wix,而且我正在慢慢掌握它。

我有以下问题:

我使用WixUI_Mondo作为安装程序的默认UI,除了需要一点定制之外,它最适合我的需求。

当用户自定义应用程序的默认路径(例如root / pfiles / appname)时,我需要将“/ appname”目录保留到新的自定义路径(例如,如果用户选择了c:\作为自定义安装路径,该软件包将安装到c:\ appname)。

我试图寻找一种方法来做到这一点,我认为关键可能是编辑WixUI_Mondo的BrowseDlg,但我还没有找到实现这个目标的方法。

任何人都可以帮助我吗?感谢。

修改

根据评论的要求,文件夹结构非常基本:

<DirectoryRef Id="TARGETDIR"> <Directory Id="ProgramFilesFolder" Name="Pfiles"> <Directory Id="INSTALLDIR" Name="AppName">

1 个答案:

答案 0 :(得分:0)

实现这一目标的一种方法是将Top文件夹引入您的结构,例如Company \ AppName,例如SomePath \公司\ AppName的。

将INSTALLDIR设为公司目录并为AppName添加静态目录,然后不要忘记将组件指向此新目录

示例:

<Fragment>
    <DirectoryRef Id="TARGETDIR">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLDIR" Name="Company">
                <Directory Id="Dir_App" Name="AppName"/>

将组件Dir引用更改为Dir_App而不是INSTALLDIR

现在,当您更改对话框中的路径或通过命令行使用属性时,更改将最多为INSTALLDIR,然后它将创建名为AppName的新文件夹。

有可能在不引入顶级文件夹的情况下这样做,但可能会更棘手。