Open probonopd opened 4 years ago
Or Crossover CrossTie files like this: https://www.codeweavers.com/bin/c4p/14101
They seem to exist for a lot of Windows applications: https://www.codeweavers.com/compatibility
Good! But, reusing, I need to implement all the mechanisms behind them, and it is very complicated, I like the pkg2appimage format and it is relatively easy to implement with the new structure, but to use this approach it will be necessary to write all the recipes, fortunately exist a considerably database of application with a simple language (PoL, see tis example)
I'm using the following structure as reference:
app: My App
app_full_name: My_App.x.y.z
icon: icon.png
category: Utility
executable: "C:/Program Files/example/app.exe"
keep_registry: false
flags:
- flag1
- flag2
ingredients:
download:
- https://www.example.com/example.exe
- https://www.example.com/icon.png
- https://www.example.com/example.zip
- https://www.example.com/example-portable.7z
preparation:
winetricks:
- resource 1
- resource 2
extract:
- example.zip
install:
- example.exe
install-compressed:
- example-portable.7z "C:/test"
remove:
- C:/test/how-to-install.txt
At the end of build the script will create a "dist" version of recipe with the list of unneeded files
I've added initial support for recipes https://github.com/sudo-give-me-coffee/win32-appimage/commit/97a586bf20eedca55b2c05520e7d7155cb7e038c:
Wine-*-x86_64.AppImage --recipe file.yml
Looking forward to the first recipe to test this with. Well done, keep it up :+1:
I wrote 3 recipes in 5f8fb8003f92b451e3660fb01f1b66f26f57c577
Do you know why https://github.com/sudo-give-me-coffee/win32-appimage/releases/tag/continuous still says "January"?
Woo-hoo! It works! It works!!! :+1: Awesome.
(Still running into some minor issues but I guess they will be ironed out quickly.)
Namely,
/tmp/.mount_Wine-4L6Fsn7/AppRun: line 16: [: too many arguments
(...)
wine: configuration in L"/home/me/VisualG3/prefix" has been updated.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
It would be nice if it would download the recipe if it is not yet there, kinda like how pkg2appimage
does it.
Do you know why https://github.com/sudo-give-me-coffee/win32-appimage/releases/tag/continuous still says "January"?
I have no idea why :confused:
/tmp/.mount_Wine-4L6Fsn7/AppRun: line 16: [: too many arguments
wine: configuration in L"/home/me/VisualG3/prefix" has been updated.
This is a normal Wine message
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found
It is not fixable by me, it seems to be a Wine bug, with side by echo
's the echos is called only a single time, but regedit is called 7 times, owthever is safe ignore them
It would be nice if it would download the recipe if it is not yet there, kinda like how pkg2appimage does it.
I will implement them, but i need 2 things first:
1) Make AppRun less verbose 2) Add support for silent install
Probably tomorrow I will finish them, and will start implement this
I'm created a separate recipes repository at https://github.com/sudo-give-me-coffee/wine_recipes
@probonopd implemented on https://github.com/sudo-give-me-coffee/win32-appimage/commit/d8047c0bb757ed2af24e5b6418e830c0f42da3f0 thanks for the suggestions
Thank you @sudo-give-me-coffee. You are doing really amazing work here. It's so exciting to see this happen. Do you hang out on IRC?
As a "stress test" for your yml format, would you be able to e.g., port over (ideally automatically) something like https://www.codeweavers.com/bin/c4p/14101?
Theoretically yes, but in practice no, CrossOver isn't fully compatible with traditional wine. Somethings are different and breaks "traditional" bottles, for example, in automatic conversion, is needed install:
<app appid="com.codeweavers.c4.15248" timestamp="2017-05-11T14:44:50-05:00">
<cxversion product="cxoffice">16.2</cxversion>
<name>Microsoft XML Parser (MSXML) 6.0 SP2</name>
<name lang="en">Microsoft XML Parser (MSXML) 6.0 SP2</name>
<appprofile>
<description><p>Update for MSXML Core Services 6.0 Service Pack 2 (KB973686). Install this update to prevent applications from sending too many HTTP requests while a well-known Document Type Definition (DTD) is included.</p></description>
<description lang="en"><p>Update for MSXML Core Services 6.0 Service Pack 2 (KB973686). Install this update to prevent applications from sending too many HTTP requests while a well-known Document Type Definition (DTD) is included.</p></description>
<comment>20170509 - Set dll override to native and remove existing Wine dll so it doesn't block MS installer. -Balfs
20170426 - Initial creation. Needs Win2000 bottle to install, set that bottle type override in Install profile. -Balfs</comment>
<medal rating="4" platform="Linux" version="16.2.0" num="1" last="2017-04-26T11:06:05-05:00">unsilver</medal>
<medal rating="4" platform="Mac" version="16.2.0" num="1" last="2017-04-26T11:06:00-05:00">unsilver</medal>
<medal rating="1" platform="Linux" version="19.0.1" num="1" last="2020-03-02T12:08:25-06:00">knownnottowork</medal>
<category>Non-Applications/Components/Service Packs</category>
<flag>component</flag>
<installedkeypattern>{56EA8BC0-3751-4B93-BC9D-6651CC36E5AA}</installedkeypattern>
<bottletemplate>win2000</bottletemplate>
<downloadurl>https://download.microsoft.com/download/1/5/8/158F681A-E595-472B-B15E-62B649B1B6FF/msxml6-KB973686-enu-x86.exe</downloadurl>
<downloadpageurl>https://www.microsoft.com/en-us/download/details.aspx?id=9774</downloadpageurl>
<downloadglob>msxml6-KB973686-enu-x86.exe</downloadglob>
</appprofile>
<installprofile>
<installerwinver>win2000</installerwinver>
<prermfakedll>msxml6.dll</prermfakedll>
<preinstallregistry>
<key>HKEY_CURRENT_USER\Software\Wine\DllOverrides</key>
<value>
<name>msxml6</name>
<data>native, builtin</data>
</value>
</preinstallregistry>
<skipmenu>true</skipmenu>
</installprofile>
</app>
But installing it makes MS Office crashes when loading .*x
files if do this. Another things is missing such as C2R32.dll
and AppvIsvSubsystems32.dll
, they need to be copied from C:/Program Files/Common Files/Microsoft Shared/ClickToRun/
to C:\Program Files\Microsoft Office
but isn't present on .tie
These things makes an automated conversion from .tie
to .yml
(or even read .tie directly) inviable
You are doing really amazing work here.
Thanks a lot
Do you hang out on IRC?
Currently no
Did you know https://github.com/winepak/?
They also have yml files, e.g, https://github.com/winepak/applications/blob/master/com.worldoftanks.Client/com.worldoftanks.Client.yml
Maybe one could collaborate?
Here is a killer app: https://gist.github.com/probonopd/0fab254aa0b6fc371d8db641822bd530#gistcomment-3190402
Maybe this can be reused? https://github.com/PhoenicisOrg/scripts