我正在使用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">
答案 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的新文件夹。
有可能在不引入顶级文件夹的情况下这样做,但可能会更棘手。