CPackWiX: transfer file read only flag during installation

This commit is contained in:
Nils Gladitz 2013-12-26 00:14:44 +01:00
parent b87ce492ab
commit 44a7543c53
1 changed files with 11 additions and 0 deletions

View File

@ -27,6 +27,9 @@
#include <rpc.h> // for GUID generation
#include <sys/types.h>
#include <sys/stat.h>
int cmCPackWIXGenerator::InitializeInternal()
{
componentPackageMethod = ONE_PACKAGE;
@ -920,6 +923,14 @@ void cmCPackWIXGenerator::AddDirectoryAndFileDefinitons(
fileDefinitions.AddAttribute("Source", fullPath);
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);
fileDefinitions.EndElement("File");