Skip to content

heat.exe changes file permissions #6177

@gquerret

Description

@gquerret

Executing heat.exe on the Flash ActiveX component changes the right of the file ; admin rights are then required to delete the file. I don't think it is expected that heat.exe would change anything on a source file.

Here is how I can reproduce with Wix 3.11 (as a standard user):

rem I assume you may have a different path on your machine
λ xcopy C:\Windows\WinSxS\wow64_adobe-flash-for-windows_31bf3856ad364e35_10.0.18362.656_none_8bc2c5762f914d86\flash.ocx .
C:\Windows\WinSxS\wow64_adobe-flash-for-windows_31bf3856ad364e35_10.0.18362.656_none_8bc2c5762f914d86\Flash.ocx
1 File(s) copied

rem Just to confirm it can be done before executing heat
C:\Users\gquer\AppData\Local\Temp\testwix
λ del Flash.ocx

C:\Users\gquer\AppData\Local\Temp\testwix
λ xcopy C:\Windows\WinSxS\wow64_adobe-flash-for-windows_31bf3856ad364e35_10.0.18362.656_none_8bc2c5762f914d86\flash.ocx .
C:\Windows\WinSxS\wow64_adobe-flash-for-windows_31bf3856ad364e35_10.0.18362.656_none_8bc2c5762f914d86\Flash.ocx
1 File(s) copied

C:\Users\gquer\AppData\Local\Temp\testwix
λ C:\Users\gquer\Downloads\wix311-binaries\heat file flash.ocx -out heat.txt
Windows Installer XML Toolset Toolset Harvester version 3.11.2.4516
Copyright (c) .NET Foundation and contributors. All rights reserved.


C:\Users\gquer\AppData\Local\Temp\testwix
λ del flash.ocx
C:\Users\gquer\AppData\Local\Temp\testwix\Flash.ocx
Access is denied.

rem Output is generated correctly
C:\Users\gquer\AppData\Local\Temp\testwix
λ head heat.txt
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <DirectoryRef Id="TARGETDIR">
            <Directory Id="dirB75ECD46607023176E775C7CDFCD5163" Name="testwix" />
        </DirectoryRef>
    </Fragment>
    <Fragment>
        <DirectoryRef Id="dirB75ECD46607023176E775C7CDFCD5163">
            <Component Id="cmpE4F49A3083E05742746966532218FBDA" Guid="PUT-GUID-HERE">

Why does the file become locked when I execute heat ? Is that expected ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions