使用 msi API 更改安装路径

标签 c deployment installation windows-installer

我正在尝试使用这些代码行手动设置安装路径,

MSIHANDLE msiHandle;
UINT openPackageExitCode = MsiOpenPackage(LR"(path to .msi file)", &msiHandle);
LPCTSTR newPath = LR"(C:\test\)";
UINT changePathResult = MsiSetTargetPath(msiHandle, L"INSTALLDIR", newPath);
MsiCloseHandle(msiHandle);

但是,我收到一条错误消息,显示 ERROR_DIRECTORY

如何使用此方法更改安装路径?

最佳答案

CostFinalize 操作后在自定义操作中调用 MsiSetTargetPath 解决了我的问题。

关于使用 msi API 更改安装路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30774064/

相关文章:

.net - 可移植类库是否支持 System.Security.Cryptography 命名空间

c - MISRA 2004 规则 8.3 : Clarification

c++ - 在指向 T 的指针、T 的数组和指向 T 的数组的指针之间进行转换是否有未定义的行为?

iphone - Xamarin.iOS:部署到设备失败,错误代码为 "failed to acquire command execution log"

OpenCV Ubuntu 安装问题

installation - 包含 GPL 二进制文件的安装程序

c# - 寻找用不同语言编写的示例程序

reactjs - React App 部署的页面看起来与本地主机不同

java - 分发我的 java 应用程序,如何管理目录

java - 找不到 JDK 在 MacOS Big Sur 上安装 Apache NetBeans IDE