freedomofpress / dangerzone

Take potentially dangerous PDFs, office documents, or images and convert them to safe PDFs
https://dangerzone.rocks/
GNU Affero General Public License v3.0
3.58k stars 168 forks source link

Unknown error code ‘1’ on Microsoft Windows 11 #922

Open DeltaEpsilon19498 opened 2 weeks ago

DeltaEpsilon19498 commented 2 weeks ago

I am installing dangerzone on a Microsoft Windows 11 computer. I am using Docker Desktop with wsl for the docker containers.

When I try to run dangerzone, I get Unknown error code ‘1’

If I try opening powershell, I am unable to figure out how to run dangerzone-cli to see if I can get any error messages. See the following output.

PowerShell 7.4.5

PS C:\Users\Admin> dangerzone

dangerzone: The term 'dangerzone' is not recognized as a name of a cmdlet, function, script file, or executable program.

Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

PS C:\Users\Admin> dangerzone-gui

dangerzone-gui: The term 'dangerzone-gui' is not recognized as a name of a cmdlet, function, script file, or executable program.

Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

PS C:\Users\Admin> dangerzone-cli

dangerzone-cli: The term 'dangerzone-cli' is not recognized as a name of a cmdlet, function, script file, or executable program.

Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

PS C:\Users\Admin>

OS name ? Microsoft Windows 11 Pro OS version? 10.0.22631 Build 22631 Dangerzone version 0.7.0 Which Docker Desktop version? Docker Desktop 4.34.2 (167172)

Thank you for your help.

edit- also, if I set up a regular, non-administrator user account and try to click on docker desktop, the program does not seem to open at all. It only seems to open if I run docker desktop as administrator in that circumstance. And because of that, dangerzone only recognizes docker desktop as being open if dangerzone is being opened as an administrator. Is there a way around having to do this? I am installing dangerzone on the computer of someone who is relatively tech-illiterate and who has no inclination to learn, so these subtleties on how to run the program on a non-administrator account may or may not be lost to them.

apyrgio commented 1 week ago

Hi @DeltaEpsilon19498, sorry for taking a while to reply. I didn't have a Windows machine handy to give your more info. And to be honest, we should have already provided you with the necessary commands to run, when you opened the issue (see https://github.com/freedomofpress/dangerzone/issues/920). Anyway, we'll get to it soon.

Second, kudos for helping that person out with the Dangerzone installation. We want to make this a smooth experience for everybody, but the Docker installation is sadly not in our control. Without further ado, let's see what's going on.

Can you please run the following Docker commands?

docker version
docker info
docker images

If the above commands don't throw an error, let's proceed with some extra ones. Can you run Dangerzone from the CLI, point it to a file in your system (replace path\to\file with the proper path) and copy its output?

& 'C:\Program Files (x86)\Dangerzone\dangerzone-cli.exe' path\to\file

Finally, can you start the Dangerzone container manually, and copy its output?

& 'C:\Program Files\Docker\Docker\resources\bin\docker.EXE' run -e RUNSC_DEBUG=1 --security-opt=no-new-privileges:true --cap-drop all --cap-add SYS_CHROOT --network=none -u dangerzone --rm -i dangerzone.rocks/dangerzone /usr/bin/python3 -m dangerzone.conversion.doc_to_pixels

As for running Docker as a non-admin user, I'm afraid that this is working out of the box for macOS only. On Windows, you need to add the unprivileged user to the docker-users group from an admin account:

net localgroup docker-users <user> /add

See "Install Docker Desktop on Windows" for more details.

DeltaEpsilon19498 commented 5 days ago

I do not think I will have the opportunity to fiddle around with his computer for a while, so I will not be able to enter the commands until I get another opportunity. The program is probably too complicated for him anyways. You can close the issue if you want.

apyrgio commented 5 days ago

Let's leave this open, since it's a legitimate issue. Just note that if you take a stab at it, there's yet another Docker Desktop problem you need to tackle, I'm afraid. Check out our announcement here https://github.com/freedomofpress/dangerzone/issues/933. Most likely, this is not what bit you though, since the error code is different.

DeltaEpsilon19498 commented 5 days ago

Well actually, originally I had intended that the user run Windows 11 on the administrator account. But later, a bit after posting this issue, I changed my mind and decided to have him use a standard account by default. While logged into the standard account, I uninstalled dangerzone and docker desktop, then reinstalled it using the administrator password. Afterwards, I tried Dangerzone again (on the standard account but running with administrative privileges via administrator password, since I had not added the standard user to the docker-users group), and I was getting error code 125 instead of error code 1.

So it might now be the same issue that you posted about in #933. Regardless, it will be a while before I check on that particular machine again.