我在使用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属性设置为&#34; no&#34;,它似乎根本没有调用自定义操作功能。
有人有想法吗?提前谢谢!
答案 0 :(得分:0)
您是否尝试添加额外的斜杠来制作它&#34; C:\\ Temp.txt&#34;或者stackoverflow格式是否从粘贴的代码中删除它?如果这不起作用,请尝试创建C:\ Temp \文件夹,因为我已经看到某些操作系统(或组策略)保护该根文件夹不会创建新文件(但允许文件到被复制到其中),同时允许子文件夹创建一个新文件。
HANDLE hFile = CreateFile(L"c:\\Temp.txt", // name of the write
GENERIC_WRITE,
0,
NULL,
CREATE_NEW,
FILE_ATTRIBUTE_NORMAL,
NULL);