Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make new command an interactive shell #410

Closed
aronovgj opened this issue Sep 18, 2015 · 3 comments
Closed

Make new command an interactive shell #410

aronovgj opened this issue Sep 18, 2015 · 3 comments

Comments

@aronovgj
Copy link

A question is how detailed this will be.

An option would be something simple like:

Enter silent args
> /s

or you can do:

Enter silent args
MSI: /quiet /qn /norestart
InstallShield: /s
Inno: /sp- /silent /norestart
...
If you don't know what setup your software uses, try ussf
> /s
@aronovgj aronovgj changed the title Make new command interactive shell Make new command an interactive shell Sep 18, 2015
@aronovgj
Copy link
Author

You could do both by adding something like a -v switch to new.

@ferventcoder ferventcoder added this to the 0.9.10.x milestone Sep 21, 2015
@EntranceJew
Copy link

I was thinking about something like this and here were my notes for features that would make the whole process a lot smoother. Some of these are would-be-nice but specifically the part about being able to stop the process long enough to experiment within the powershell instance would streamline a lot of the human elements and would clear up a lot of headspace for making decisions regarding how to structure a triple-package set and the like.

  • need a template that shares code for finding the latest version / metadata of a website for all versions of a package
  • need a library method for converting the contents of html nodes into markdown
  • input site url, scan for basic patterns that can be handled
    • number of links that match a regex for ".exe, .msi, .zip"
    • is this a sourceforge page?
    • site copyright string / authors
    • license urls
    • page tags
    • candidates for summary / description components
  • present the user with each of the automatic input pieces we found, as well as remind them of pieces missing
    • show the string(s) [use numeric indexes if multiple candidates found, user picks best candidate to work with]
    • allow the user to enter a shell and interrogate the results of the Invoke-WebRequest until they have a snippet that gets the string they desire
    • allow the user to specify an xpath that gets the element, if there is no best choice
    • allow the user to (supply or follow an on-page) URL for bits of information, restarting the process
    • allow the user to decline supplying a variable
  • after downloading the file, interrogate it
    • is it an installer? figure it out or run ussf for the user.
      • attempt installing silently, allow the user to fail the install test if it is not silent
      • if it can't be installed silently, attempt to extract the files and treat it like a zip (include dependencies for extractor, etc)
    • is it a zip? extract it
      • show the resulting extracted files and let the user launch them and determine which need .ignore and .gui
      • move the files into location
  • if the installer didn't find a suitable media image for the package, extract the biggest of each ico resource group and convert to png
  • during uninstall (if necessary) snapshot processes and detect new processes initiated by the uninstaller, plan to kill them

@pauby
Copy link
Member

pauby commented Feb 2, 2024

The choco new command has many options that can be used to pass information to it. As it's a command line tool, making it interactive is not something we have plans to do.

I'm going to go ahead and close this, but we can reopen it if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants