Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Done ability to install with winget?

Jul
512
10
I'm trying to automate my environments as much as possible — including the automation of rolling out common programs I use.

Is there a winget command to install TCC?
 
I'm still waiting for the PSHELL command to work from TCC in Windows Sandbox.

Does this have something to do with the auto-install?

Not sure.

Other than that, TCC works as it should in Windows Sandbox.

Ref: TCMD31 in Windows 10 Sandbox

Joe
 
I have two people above saying it's possible, but neither have provided an example invocation that works.

While I appreciate claims that an answer to my problem exists, I'm actually looking for the actual answer, and the above claims don't actually bring me any closer to it

i.e. what is the msiexec command? how is it installed in sandbox?

I'm looking for a command that downloads it and installs it, like winget. Maybe that part wasn't clear.
 
From a TCC prompt, copy the install file from the JPSoft web site;
Code:
copy https://jpsoft.com/downloads/v32/tcmd.exe

NOTE: This will change with each version of tcmd.exe

To install TCMD silently,
Code:
tcmd.exe /qn

Joe
 
Here's a winget btm script (beta) to download Take Command and install silently.
Code:
@SETLOCAL
@ECHO OFF
::    File: winget.btm
:: Created: 2024-09-09
::   _4ver: 32.10
:: _winver: 10.0
iff %_x64 eq 1 then
    iff %_admin eq 1 then
        iff %_elevated eq 1 then
        :: NEXT SENTENCE
    else
        echo Note that this .BTM was tested on a 64-bit version of Windows,
        echo as Administrator,
        echo from an elevated process.
        echo.
        echo You are running the following;
        echo      _x64: 1
        echo    _admin: 1
        echo _elevated: 1
        pause
        endiff
    endiff
endiff

:: Drive R:\ is a 2GB RAMDrive
if isdir r:\temp set temp=r:\temp

iff %1 eq edit then
    tcedit %_batchname
    quit
endiff

iff %1 eq view then
view %_batchname
    quit
endiff

set Show=N
set Source=https://jpsoft.com/downloads/v32/tcmd.exe

iff %1 eq show .and. %2 eq tcmd then
  if exist tcmd.exe del /q tcmd.exe
  echo Copying %Source
  copy /g %Source
  Gosub Show
  set Show=Y
endiff

iff %1 eq install .and. %2 eq tcmd then
  if exist tcmd.exe del /q tcmd.exe
  echo Copying %Source
  copy /g %Source
  Gosub Show
  set YorN=N
  input /k"YyNn" Install Take Command (Y/N): %%YorN
  iff %YorN eq Y then
    echo Silently installing Take Command
    ::tcmd.exe /qn
  endiff
  if exist tcmd.exe dir tcmd.exe
else
  iff %Show eq Y then
    :: NEXT SENTENCE
  else
    winget.exe %$
  endiff
ENDLOCAL
quit

:Show
  echo Company Name      : %@verinfo[tcmd.exe,CompanyName]
  echo File Description  : %@verinfo[tcmd.exe,FileDescription]
  echo File Version      : %@verinfo[tcmd.exe,FileVersion]
  echo Internal Name     : %@verinfo[tcmd.exe,InternalName]
  echo Legal Copyright   : %@verinfo[tcmd.exe,LegalCopyright]
  echo Legal Trademarks  : %@verinfo[tcmd.exe,LegalTrademarks]
  echo Original Filename : %@verinfo[tcmd.exe,OriginalFilename]
  echo Product Name      : %@verinfo[tcmd.exe,ProductName]
  echo Product Version   : %@verinfo[tcmd.exe,ProductVersion]
  echo Build             : %@verinfo[tcmd.exe,Build]
Return

Running winget.btm show tcmd will download tcmd.exe,
and display the properties of tcmd.exe

Code:
R:\>winget show tcmd
Copying https://jpsoft.com/downloads/v32/tcmd.exe
https://jpsoft.com/downloads/v32/tcmd.exe => R:\tcmd.exe

     1 file copied
Company Name      : JP Software
File Description  : Take Command 32 Installer
File Version      : 32.10.21.0
Internal Name     : tcmd
Legal Copyright   : Copyright (C) 2024 JP Software
Legal Trademarks  :
Original Filename : tcmd.exe
Product Name      : Take Command 32
Product Version   : 32.10.21.0
Build             :

Running winget.btm install tcmd will download tcmd.exe,
display the properties of tcmd.exe
then ask if you want to install Take Command

Code:
R:\>winget install tcmd
Copying https://jpsoft.com/downloads/v32/tcmd.exe
https://jpsoft.com/downloads/v32/tcmd.exe => R:\tcmd.exe

     1 file copied
Company Name      : JP Software
File Description  : Take Command 32 Installer
File Version      : 32.10.21.0
Internal Name     : tcmd
Legal Copyright   : Copyright (C) 2024 JP Software
Legal Trademarks  :
Original Filename : tcmd.exe
Product Name      : Take Command 32
Product Version   : 32.10.21.0
Build             :
Install Take Command (Y/N):y
Silently installing Take Command

 Volume in drive R is unlabeled    Serial number is 2874:bb5f
 Directory of  R:\tcmd.exe

2024-09-09  11:16      78,195,584  tcmd.exe

If you run winget.btm without tcmd as command line argument #2,
winget.exe will be executed,
so that you may use it as you normally would.

Note that with each new version of Take Command,
you will have to change the Source environment variable
to point to the URL of the version of tcmd.exe that you wish to install.

This code has not been thoroughly tested,
use at your own risk!

The line to install Take Command silently has been commented.
You will need to remove the comment for Take Command to be silently installed.
Code:
::tcmd.exe /qn

should be

Code:
tcmd.exe /qn

Modify this winget.btm script to accommodate your needs.

Joe

EDIT: Source Code updated
 
Last edited:
I have two people above saying it's possible, but neither have provided an example invocation that works.

While I appreciate claims that an answer to my problem exists, I'm actually looking for the actual answer, and the above claims don't actually bring me any closer to it

i.e. what is the msiexec command? how is it installed in sandbox?

I'm looking for a command that downloads it and installs it, like winget. Maybe that part wasn't clear.

MSIEXEC is a Windows command (part of Windows Installer).

It seems that Joe has provided a script to do what you want (download it and then use the MSIEXEC options to autoinstall).
 
It seems that Joe has provided a script to do what you want (download it and then use the MSIEXEC options to autoinstall).

Sort of. His script is a .BTM that requires TCC to run.

So, in the situation of trying to autodeploy a new machine with this environment, I cannot use a script that requires TCC to run to install TCC, because TCC isn't installed yet. It would need to be a script that works in CMD or powershell

for example: ``Add-AppxPackage -Path "https://aka.ms/getwinget"
is a way to automate winget installation. It requires powershell, but that is included with windows. As is msiexec. But the ability to run BTM files? Don't think so
 
This could be solved if TCC was winget-able.....
 
I was not aware that the community could request that TCC be added to the winget repository.

Me neither.

Tho me having the ability to request is not the same as me having the ability to implement it for them :)

Ref: Build software better, together

Will you be pursuing this, @ClioCJS ?

I'll throw in a request once i am able to (more on that below)



I would like to, but I don't know enough about the nature of the installer....

Does it meet one of these 3 criteria?

  • - A standalone MSIX, APPX, MSI, or .EXE installer
  • A portable .EXE application
  • A standalone installer or a portable application inside of a .ZIP file<br>

I had no clue the Winget people do this?!?!?!?!?!?!?!?1?!? I thought it was incumbent on each individual software author to do something with them. This makes more sense actually. Thanks for letting me know!
 
When starting the installer with TCMD.EXE /?
1731624414573.webp


Joe
 
Welp, I submitted my request. Let's see what happens.


"And now we play the waiting game."
"Ohh! I hate the waiting game! I want to play hungry hungry hippos!"
–The Simpsons
 
Hmm. I guess they'll find out for us?

1731644640197.webp
 
It would appear that progress is being made for winget to install tcmd.exe,
as the winget install has been validated manually.

Ref: New package: JPSoft.tcmd version 33.0.18.0 by Dragon1573 · Pull Request #191690 · microsoft/winget-pkgs

View attachment 4664

Oh my gosh, I hadn't even thought of trying it before it was marked completed!

Oh me of little faith!


I guess we'll eventually find out! I imagine it's something I'll circle back to at least every new OS install. No clue if they automatically gather new versions for perpetuity once something has been added to their list (that sounds a bit much).


One question — what is the command to install it? I couldn't find it in "winget search"...
 
No, it is not yet installable by the community.

Click on the link I provided in that post.

They have demonstrated that it can be installed,
but are waiting on some issues to be completed.

1731688799438.webp


Joe
 
Looks like everything has been approved for Version 33.

We got them to include Version 32 also.

1731700559967.webp


Not sure how long it takes to get it incorporated into the index.

Joe
 
Looks like it's in there! Woo!

1731701019378.webp
 
Code:
R:\>winget search tcmd
Name            Id                     Version   Match         Source
---------------------------------------------------------------------
Total Commander Ghisler.TotalCommander 11.03     Moniker: tcmd winget
Take Command 33 JPSoft.tcmd            33.0.18.0               winget

R:\>winget install JPSoft.tcmd
Found an existing package already installed. Trying to upgrade the installed package...
A newer version was found, but the install technology is different from the current version installed. Please uninstall the package and install the newer version.

Looks like it is only for new installs.

Joe
 
I was just about to say that. Really, it should put it in \TCMD32 ... that's what i do. I just symlink \TCMD\ to point to the correct version. Multiple versions exist. Maybe it's just a matter of the manifest?
 
I'll leave it to you to work things out with Microsoft and Winget.

The goal of being able to install Take Command v33 and v32 is complete.

Hopefully they can make winget do what you want it to do.

Joe
 
With an un-attended install, everything is placed at the default location.
On my system...
Code:
 Volume in drive C is unlabeled    Serial number is acb2:6a48
 Directory of  C:\Program Files\JPSoft\*

2024-10-29  20:14         <DIR>    .
2024-10-29  20:14         <DIR>    ..
2022-12-06  19:45         <DIR>    CMDebug28
2023-06-14  19:46         <DIR>    CMDebug30
2024-02-05  14:55         <DIR>    CMDebug31
2024-04-21  12:13         <DIR>    CMDebug32
2024-09-23  17:19         <DIR>    CMDebug33
2024-10-29  20:11         <DIR>    TCC_RT_21
2022-11-22   8:52         <DIR>    TCC_RT_28
2023-02-26  13:01         <DIR>    TCC_RT_29
2023-06-19  19:16         <DIR>    TCC_RT_30
2024-02-05  14:54         <DIR>    TCC_RT_31
2024-05-22  14:31         <DIR>    TCC_RT_32
2024-10-20  18:09         <DIR>    TCC_RT_33
2023-02-12  11:50         <DIR>    TCMD24
2022-11-18  10:15         <DIR>    TCMD28
2023-06-20   9:39         <DIR>    TCMD29
2024-02-25   8:49         <DIR>    TCMD30
2024-02-12  11:40         <DIR>    TCMD31
2024-09-13  20:09         <DIR>    TCMD32
2024-11-15   8:53         <DIR>    TCMD33

Every day, when I start up Windows Sandbox, an un-attended install of TCMD 33 is completed, with files being placed in;
Code:
C:\Program Files\JPSoft\TCMD33

...which is where I want it installed.

Joe
 
Thanks for the install path!! That will help me with my deployment instructions.

It's now pretty much all command line from freshly installed windows to command line that does everything + everything i've added to it for 35 yrs. That's been the personal application.

This was the one missing link , since winget can be installed with a powershell command.

Once TCC is auto-installed, then it can go to full-fledged BTM/TCC environment where everything else gets installed and setup for my personal layer of stuffs [which is significant, like 4000 bat files]

Had no idea anybody could get it in there! Cool of Microsoft. Thanks for the help!
 
Back
Top