Windows installer 如何覆盖msi中的ProgramFilesFolder?
我有一个msi文件,我正试图安装在C:\Program文件以外的地方 目录表显示ProgramFilesFolder用作默认安装目录。通过阅读,我了解到ProgramFilesFolder是一个标准目录,因此将TARGETDIR作为属性传递给安装程序不会改变安装位置,即使目录表将其作为ProgramFilesFolder的父目录 如何覆盖安装位置?我在这方面完全是新手。您是否尝试过在命令行上传递Windows installer 如何覆盖msi中的ProgramFilesFolder?,windows-installer,Windows Installer,我有一个msi文件,我正试图安装在C:\Program文件以外的地方 目录表显示ProgramFilesFolder用作默认安装目录。通过阅读,我了解到ProgramFilesFolder是一个标准目录,因此将TARGETDIR作为属性传递给安装程序不会改变安装位置,即使目录表将其作为ProgramFilesFolder的父目录 如何覆盖安装位置?我在这方面完全是新手。您是否尝试过在命令行上传递TARGETDIR msiexec /i yourpackage.msi TARGETDIR="C:\
TARGETDIR
msiexec /i yourpackage.msi TARGETDIR="C:\Foo"
如果上述操作失败,我不知道在这种情况下是否有帮助,但我以前使用过一个工具来编辑MSI文件,它被调用,也许你可以使用它来覆盖一些MSI设置
另一种可能是找出MSI使用什么注册表项来找出ProgramFiles文件夹解析为什么,并在运行MSI之前更改该项,然后将其更改回去。您是否尝试在命令行上传递TARGETDIR
msiexec /i yourpackage.msi TARGETDIR="C:\Foo"
如果上述操作失败,我不知道在这种情况下是否有帮助,但我以前使用过一个工具来编辑MSI文件,它被调用,也许你可以使用它来覆盖一些MSI设置
另一种可能是找出MSI使用什么注册表项来找出ProgramFiles文件夹解析为什么,并在运行MSI之前更改该项,然后再将其更改回去。首先,尝试将INSTALLDIR设置为所需的任何文件夹
如果这似乎没有任何作用,那么是时候查看组件表并查看这些记录的目录值了。首先,尝试将INSTALLDIR设置为所需的任何文件夹
如果这似乎没有任何作用,那么是时候查看组件表,看看这些记录的目录值是什么。是的,我尝试过传递TARGETDIR,但没有效果。我曾使用Orca查看MSI中的目录表,虽然它是第三方MSI,但编辑可能是一种可能性,我担心我的编辑可能会破坏某些东西。我没有想过要更改注册表,所以可以看看。是的,我尝试过传递TARGETDIR,但没有效果。我曾使用Orca查看MSI中的目录表,虽然它是第三方MSI,但编辑可能是一种可能性,我担心我的编辑可能会破坏某些东西。我没有想过要更改注册表,所以可以看一下。