[英]Wix: Create File in Custom Action DLL
我对WiX和C ++自定义操作DLL有问题:在我的自定义操作中,我创建了一个文件,当我对其进行调试时,访问被拒绝。
WiX文件:
<CustomAction Id="ChangeConfig"
BinaryKey="PcmConfig"
DllEntry="ModifyConfigFile"
Execute="immediate"
Return="check"
HideTarget="no" />
<InstallExecuteSequence>
<Custom Action="ChangeConfig" Before="InstallFinalize" />
</InstallExecuteSequence>
自定义操作方法:
HANDLE hFile = CreateFile(L"c:\Temp.txt", // name of the write
GENERIC_WRITE,
0,
NULL,
CREATE_NEW,
FILE_ATTRIBUTE_NORMAL,
NULL);
我看到有人建议将其更改为以deferred运行,并将Impersonate属性设置为“ no”,看来它根本没有调用自定义操作函数。
有人知道吗? 提前致谢!
您是否尝试过添加额外的斜杠以使其成为“ C:\\\\ Temp.txt”,还是stackoverflow格式将其从粘贴的代码中删除了? 如果这不起作用,请尝试创建一个C:\\ Temp \\文件夹,因为我已经看到某些操作系统(或组策略)保护该根文件夹免于创建新文件(但允许将文件复制到其中),而-文件夹被允许创建一个新文件。
HANDLE hFile = CreateFile(L"c:\\Temp.txt", // name of the write
GENERIC_WRITE,
0,
NULL,
CREATE_NEW,
FILE_ATTRIBUTE_NORMAL,
NULL);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.