CPackWiX: transfer file read only flag during installation
This commit is contained in:
parent
b87ce492ab
commit
44a7543c53
|
@ -27,6 +27,9 @@
|
||||||
|
|
||||||
#include <rpc.h> // for GUID generation
|
#include <rpc.h> // for GUID generation
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
|
||||||
int cmCPackWIXGenerator::InitializeInternal()
|
int cmCPackWIXGenerator::InitializeInternal()
|
||||||
{
|
{
|
||||||
componentPackageMethod = ONE_PACKAGE;
|
componentPackageMethod = ONE_PACKAGE;
|
||||||
|
@ -920,6 +923,14 @@ void cmCPackWIXGenerator::AddDirectoryAndFileDefinitons(
|
||||||
fileDefinitions.AddAttribute("Source", fullPath);
|
fileDefinitions.AddAttribute("Source", fullPath);
|
||||||
fileDefinitions.AddAttribute("KeyPath", "yes");
|
fileDefinitions.AddAttribute("KeyPath", "yes");
|
||||||
|
|
||||||
|
mode_t fileMode = 0;
|
||||||
|
cmSystemTools::GetPermissions(fullPath.c_str(), fileMode);
|
||||||
|
|
||||||
|
if(!(fileMode & S_IWRITE))
|
||||||
|
{
|
||||||
|
fileDefinitions.AddAttribute("ReadOnly", "yes");
|
||||||
|
}
|
||||||
|
|
||||||
ApplyPatchFragment(fileId, fileDefinitions);
|
ApplyPatchFragment(fileId, fileDefinitions);
|
||||||
fileDefinitions.EndElement("File");
|
fileDefinitions.EndElement("File");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue