繁体   English   中英

Wix:在自定义操作DLL中创建文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM