Giter VIP home page Giter VIP logo

Comments (8)

cosmomill avatar cosmomill commented on August 19, 2024 1

Thank you for your fast and detailed response.

There are some GUI applications that are set to be run from the executable directory as the working directory in the start menu. I wonder if this is what you are running into?

That's not the issue, I think it's uncommon to create shim's for "install" packages.

I also wonder if it would make sense to be able to provide an option to a shim to have it always start with arguments you want it to?

And also a way to provide this option as part of creating shims for these badly behaved apps?

I think one outstanding feature of Chocolatey is the possibility to have all executables in the PATH without polluting it. Furthermore Chocolatey automatically create these executables for packages in $env:ChocolateyInstall\lib\. I would like to have the option to create working shim's for these badly behaved executables. I think of an argument like --gui which sets --shimgen-gui as default argument for the resulting shim.

from home.

ferventcoder avatar ferventcoder commented on August 19, 2024

While I appreciate that you believe this should be the default, let's talk a little more about how shimgen works so I can get an understanding of why.

  • When a shim runs, it runs from the $env:ChocolateyInstall\bin path. The working directory for the shim is your current directory.
  • The shim starts the binary it represents in the actual location it exists. The working directory is still the current directory you are in.
  • Most executables are able to find everything surrounding the actual executable that must exist for it to work appropriately, including config files.

There are a few that are badly behaved executables that require that you are actually in the folder where they exist to run them. That literally means you can not have them in the PATH and execute them from anywhere on the system, you can only go to the directory where they are located and execute them from there. --use-targetworkingdirectory overcomes this issue allowing you to execute them from anywhere.

There are some GUI applications that are set to be run from the executable directory as the working directory in the start menu. I wonder if this is what you are running into?

I also wonder if it would make sense to be able to provide an option to a shim to have it always start with arguments you want it to?

And also a way to provide this option as part of creating shims for these badly behaved apps?

from home.

ferventcoder avatar ferventcoder commented on August 19, 2024

I would like to have the option to create working shim's for these badly behaved executables. I think of an argument like --gui which sets --shimgen-gui as default argument for the resulting shim.

The 0.9.10 beta version of shimgen automatically determines it is a GUI and sets it appropriately without the need for a .gui file.

from home.

ferventcoder avatar ferventcoder commented on August 19, 2024

I think one outstanding feature of Chocolatey is the possibility to have all executables in the PATH without polluting it.

I'm guessing you are saying this feature is great, not that it still needs this feature? If so, we think so as well.

from home.

ferventcoder avatar ferventcoder commented on August 19, 2024

I would like to have the option to create working shim's for these badly behaved executables.

I agree.

from home.

ferventcoder avatar ferventcoder commented on August 19, 2024

But I also like a consumer call to adjust the default behavior of a shim.

from home.

cosmomill avatar cosmomill commented on August 19, 2024

But I also like a consumer call to adjust the default behavior of a shim.

I can only serve you with a "Feature Request" 😉
Thanks for your time.

from home.

gep13 avatar gep13 commented on August 19, 2024

Based on some changes happening to the Chocolatey repositories, this issue has been moved from the chocolatey/shimgen repository to the chocolatey/home repository.

from home.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.