More Control over the Installation Directory on Linux #150

Open
opened 2026-01-29 16:30:42 +00:00 by claunia · 1 comment
Owner

Originally created by @cimpeco on GitHub (Oct 11, 2024).

Hello,
Let me say before anything else that I have only dug into this repository for just today (Oct. 11, 2024) and could easily be missing something obvious. Neither am I a developer in this repository: you repository owners know your solution better than I do.

What I am looking for is a way to decide where my executable gets installed in the filesystem. There are ways to control the installation path for additional files:

  <ItemGroup Condition="'$(Configuration)' == 'Release' And '$(RuntimeIdentifier)' == 'linux-x64'">
    <Content Include="./boo" CopyToPublishDirectory="PreserveNewest" LinuxFileMode="1755">
      <LinuxPath>/usr/share/Daktronics/$(AssemblyName)</LinuxPath>
    </Content>
  </ItemGroup>

But I am uncertain if there is a way (as of today) to control where the executable for a file gets installed. From using the command-line tool only, it seems as though it only has support for installing the executable in the /usr/share/<app-name> directory. I am using this solution specifically to generate a *.deb installation bundle, but it seems to be a problem specific to the Linux filesystem in general.

I have also noticed several other comments along a similar line of thinking that are either unresolved or have no real answer to this question:
#185
#183
#163

If support for this kind of control does exist, it would be great to have a section in the README explaining for beginner users how to utilize it. Otherwise, if it doesn't exist, it sounds like it would be greatly appreciated. Any help or action on this would be greatly appreciated, by myself and others as well.

Thank you

Originally created by @cimpeco on GitHub (Oct 11, 2024). Hello, Let me say before anything else that I have only dug into this repository for just today (Oct. 11, 2024) and could easily be missing something obvious. Neither am I a developer in this repository: you repository owners know your solution better than I do. What I am looking for is a way to decide where my executable gets installed in the filesystem. There are ways to control the installation path for additional files: ``` <ItemGroup Condition="'$(Configuration)' == 'Release' And '$(RuntimeIdentifier)' == 'linux-x64'"> <Content Include="./boo" CopyToPublishDirectory="PreserveNewest" LinuxFileMode="1755"> <LinuxPath>/usr/share/Daktronics/$(AssemblyName)</LinuxPath> </Content> </ItemGroup> ``` But I am uncertain if there is a way (as of today) to control where the executable for a file gets installed. From using the command-line tool only, it seems as though it only has support for installing the executable in the `/usr/share/<app-name>` directory. I am using this solution specifically to generate a `*.deb` installation bundle, but it seems to be a problem specific to the Linux filesystem in general. I have also noticed several other comments along a similar line of thinking that are either unresolved or have no real answer to this question: #185 #183 #163 If support for this kind of control does exist, it would be great to have a section in the README explaining for beginner users how to utilize it. Otherwise, if it doesn't exist, it sounds like it would be greatly appreciated. Any help or action on this would be greatly appreciated, by myself and others as well. Thank you
Author
Owner

@neila-a commented on GitHub (Dec 21, 2024):

According to my research, Its control over the control file is derived from the 462ba880a7/Packaging.Targets/build/Packaging.Targets.targets (L22)

@neila-a commented on GitHub (Dec 21, 2024): According to my research, Its control over the control file is derived from the https://github.com/quamotion/dotnet-packaging/blob/462ba880a7d9298d9325ec4af19ed0844ae8eb22/Packaging.Targets/build/Packaging.Targets.targets#L22
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/dotnet-packaging#150