Closed gbakeman closed 1 year ago
Hello @gbakeman! We will return with an answer after a brief investigation.
Hello @gbakeman! Due to the list of reasons (rarely used tool, maintenance concerns, available to install in runtime) we decided to avoid installing that particular tool in our images. But it should take only couple minutes to install it in runtime using something like that:
jobs:
installVSiX:
runs-on: windows-latest
steps:
- name: Download vsix
run: curl -o mat.vsix https://marketplace.visualstudio.com/_apis/public/gallery/publishers/dts-publisher/vsextensions/mat2022/4.2.1/vspackage
- name: Install vsix
run: |
$FilePath = Join-Path $env:GITHUB_WORKSPACE "mat.vsix"
$ArgumentList = ('/quiet', $FilePath)
$VSpath = "Microsoft Visual Studio\2022\Enterprise\Common7\IDE\VSIXInstaller.exe"
$process = Start-Process -FilePath $VSpath -WorkingDirectory $env:ProgramFiles -ArgumentList $ArgumentList -Wait -PassThru
Hi @erik-bershel ,
I totally understand, thought I'd ask just in case but it does seem to be a rare tool. I've been working on this problem for weeks now, I assumed there was a permissions issue, but it turns out it just takes a very long time to install on the runner system for some reason. Not a problem though, I can make language compilation an infrequent process.
Thank you for looking into this!
@gbakeman I'm curious about why it takes so much in your case. With the example I dropped earlier it took less than three minutes (about two for almost all runs) for me to install that toolkit.
I appreciate your curiosity - if you want to take a look, here's the most recent run where everything successfully compiled. You'll see that the installation step took about 20 minutes there.
Comparing the script you used to the one I'm using, the only notable difference I see is that you omitted the /admin switch. I don't know if you're familiar with it, but I'm finding out that the VSIXInstaller tool isn't very command line friendly so I think there's an error in a log somewhere that it isn't reporting back to you. I've found that the MAT extension requires the admin switch and will just fail completely without it. I've used the below snippet to capture logs if you want to try (VSIXInstaller generates dd_installer_*
logs, IIRC):
- name: Capture logs when cancelled
if: ${{ cancelled() }}
uses: actions/upload-artifact@v3
with:
name: temp-dir
if-no-files-found: error
path: ${{ env.TEMP }}
If you don't mind, I'm interested if you have any further thoughts on this. I'm debating internally if I need to find another method for compiling translations - this area is very new territory for me so I'm finding out new things on a daily basis!
Tool name
Multilingual App Toolkit v4.1 (VS 2022+)
Tool license
Microsoft Software License
Add or update?
Desired version
4.1
Approximate size
3110 KB when downloaded
Brief description of tool
The Multilingual App Toolkit is an official software suite from Microsoft to aid in globalizing applications that are developed in their toolset. I personally am using it to support some legacy software, and wouldn't have made this request except that I am having the hardest time installing this extension as part of a workflow. The install will hang and never complete when being run from a command line (likely permissions issue?) so I hope adding this will be considered.
URL for tool's homepage
https://marketplace.visualstudio.com/items?itemName=dts-publisher.mat2022
Provide a basic test case to validate the tool's functionality.
Try one of the samples from the official repository, and the compile output should not contain messages stating that the tool is missing.
Platforms where you need the tool
Runner images where you need the tool
Can this tool be installed during the build?
Theoretically, yes. https://github.com/microcompiler/install-vsix provides an action that aides in downloading a Visual Studio Gallery extension and installing it. For example, in my workflow:
However, in this particular case, the install hangs and I have not had any luck in troubleshooting why exactly. If I run the script on my own machine, a UAC prompt appears so I suspect that the VSIXInstaller program is attempting to request administrator permissions from a user that is not present (which is odd, since UAC is supposed to be disabled.)
Tool installation time in runtime
N/A
Are you willing to submit a PR?
Potentially, not sure what needs to be done on my end.