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

Now that archive.org is dead it would be good to know how to install self downloads with winetricks. #2279

Open
lukolszewski opened this issue Oct 11, 2024 · 5 comments

Comments

@lukolszewski
Copy link

As archive.org has been dead for quite few days now many verb installs such as vb6run are not working. But these EXEs can be found elsewhere online. It would be great if there was some description how to use winetricks to install self downloaded files.

@Chiitoo
Copy link
Collaborator

Chiitoo commented Oct 11, 2024

I wouldn't call it 'dead', but rather temporarily offline [1].

But yeah, I suppose the README for example could mention the path to the cache where the file(s) need(s) to exist.

  1. https://mastodon.archive.org/@internetarchive/113283808411125819

@EdikGres
Copy link

Did you find a solution? I tried, but unfortunately it doesn't respond to --file.

@Chiitoo
Copy link
Collaborator

Chiitoo commented Oct 12, 2024

The files are cached under $HOME/.cache/winetricks on Linux, not sure about the path on macOS and others.

So for example, vb6run files would go to:

$HOME/.cache/winetricks/vb6run/

@wolfgangcolsman
Copy link

If took the following approach to have at least a temporary workaround:

  1. Copy .dll files to the target directory
  2. Change winetricks to install only when the file does not exist (maybe we should do this anyway to be more efficient?)

Example for InstMsiW.exe, which is required to install msls31.dll:

Dockerfile:

COPY ./archive/system32/*.dll /opt/wineprefix/dosdevices/c:/windows/system32/
COPY ./archive/winetricks /root/winetricks

winetricks: (row 11839)

load_msls31()
{
    # Needed by native RichEdit and Internet Explorer
    # Originally at https://download.microsoft.com/download/WindowsInstaller/Install/2.0/NT45/EN-US/InstMsiW.exe
    # Old mirror at https://ftp.hp.com/pub/softlib/software/msi/InstMsiW.exe
+   if [ ! -f "${W_SYSTEM32_DLLS}/msls31.dll" ]; then
        # https://web.archive.org is down (DDOS attack)
        w_download https://web.archive.org/web/20160710055851if_/http://download.microsoft.com/download/WindowsInstaller/Install/2.0/NT45/EN-US/InstMsiW.exe 4c3516c0b5c2b76b88209b22e3bf1cb82d8e2de7116125e97e128952372eed6b

        w_try_cabextract --directory="${W_TMP}" "${W_CACHE}"/msls31/InstMsiW.exe
        w_try_cp_dll "${W_TMP}"/msls31.dll "${W_SYSTEM32_DLLS}"
+   fi
}

@austin987
Copy link
Contributor

2. Change winetricks to install only when the file does not exist (maybe we should do this anyway to be more efficient?)

That wouldn't make sense (wine already includes the builtin msls31 dll, so the check would always succeed).

Winetricks already checks if a verb has been installed by checking $WINEPREFIX/winetricks.log and skipping the verb if already installed (unless --force is used).

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

No branches or pull requests

5 participants