Application: ghdPortable
Category: Internet
Description: ghdPortable is an unofficial PortableApps Launcher for GitHub Desktop®. GitHub Desktop is GitHub's official Git client, designed especially for beginners and those who want a Git client that has more integration with GitHub®.
ghdPortable v3.3.8 Dev Test 1 [85.5MB download / 339MB installed]
(MD5: 930ba0a7e5cfb40a71e1624c9a15f705)
ghdPortable v3.3.8 Dev Test 1 (Auto-Updater Removed) [85.5MB download / 337MB installed]
(MD5: 684c188217b1ef3da23226c507e9af04)
Please note that only 64-bit versions of Windows are supported.
Release Notes:
- 3.3.8 Dev Test 1 (2024-01-23): Updated base app.
- 3.3.6 Dev Test 1 (2023-12-22): Updated base app, merged custom launcher functionality into base PA Launcher, and added code to clean up the App data after any updates.
- 3.2.3 Dev Test 2 (2023-05-30): Fixed corruption of launcher's name.
- 3.2.3 Dev Test 1 (2023-05-30): Updated base app, and fixed bug that made the PAL close prematurely if the base app updated itself.
- 3.2.1 Dev Test 1 (2023-04-18): Initial release.
The license for this app does not allow usage of the GitHub Desktop name. This build is allowed by the license terms, but the name cannot be. Please adjust the name accordingly.
https://desktop.github.com/terms/
I think I've fixed the problem.
I think special characters like "#" may prevent the software and Launcher from working correctly. A correct name could be gtbPortable. Examples can seen from "ccPortable" or "rcvPortable".
I didn't notice any issues when I used my work, but good point. The latest update renames the package to be more in line with the way this website handles other trademarked names.
Hi, in general PortableApps.com does not accept third-party Launchers. Most likely they will not approve your project until you realized it with the "PortableApps.com Launcher". Also, the executable should named "ghdPortable.exe" and not "ghdPortable-XJDHDR.exe"
Here the main documentation page and here the most important information.
Thank you.
I'll fix the name if and when the PortableApps.com staff show an interest in adding this to their catalogue.
As for the 3rd party launcher, the main reason it's there is because I need to figure out when GitHub Desktop has actually closed before letting the PAL close. You start GitHub Desktop by running App\GitHubDesktop\GitHubDesktop.exe. This EXE then launches one or more copies of the GitHubDesktop.exe in the App-[version number] folder, and closes itself. Because of this, the PAL closes itself after the initial GitHubDesktop EXE closes, even though the program is still running.
This is worse if the program updates itself and you choose to restart & install the update. The old GitHubDesktop.exes close themselves and launch the updated versions. This also requires special logic to detect this happening which I haven't found in the PAL's capabilities.
You can find all this in the source code in the Source folder.
You can use WaitForExeN for this purpose.
In addition, the PAL allows you to write custom code via the Custom.nsh.
Note: The "custom.nsh" file must be placed in "App/AppInfo/Launcher". The documentation is probably out of date.
Also, to be considered portable, a software should have updates disabled by default. It is not possible to have software that checks for updates even though it has been portabilized via a launcher.
Regards
Sorry for the late reply.
I could have sworn I read somewhere that PAL devs must have their username as a suffix for their creations unless it is an official app in the PA catalogue. I can't find it though, so the next release will have the name changed, as you suggested.
Next, I found that the WaitForExeN function did what it needed to, so thanks for that. The next release will also not include my launcher.
As for update checking, is this a rule or a guideline? If it's a rule, that might be a problem. There is an open issue requesting the option to disable auto updates, but it was opened back in 2017 and it doesn't look like such a feature will be added in the near future.
Edit: Never mind, I managed to figure out the problems with my code.
Finally, I wanted to write some custom NSH code to delete certain folders when the PAL closes, and wrote the following in a Custom.nsh that I put in the "App/AppInfo/Launcher" folder. It compiles without complaint but doesn't delete the desired folders. To give a specific example, I have two folders in the "%PAL:AppDir%\App\GitHubDesktop" folder named "app-3.2.3" and "app-3.3.3". In this case, I want to delete the 3.2.3 folder and leave the 3.3.3 folder intact. My current code doesn't delete either folder.Does anything in my code jump out at you as incorrect? Thanks.
Section Post
; Delete any old versions in the App folder left behind by an update.
Var /GLOBAL palAppDir
ReadEnvStr $palAppDir "PAL:AppDir"
; Variables used for finding "app-*" folders
Var /GLOBAL searchHandle
Var /GLOBAL foundFile
Var /GLOBAL previousSearchResult
StrCpy $previousSearchResult = ""
; Start a search for "app-*" folders
FindFirst $searchHandle $foundFile "$palAppDir\GitHubDesktop\app-*"
RemoveOldVersionFolders:
; If the latest search result found nothing, break out of this loop.
StrCmp $foundFile "" RemoveOldVersionFoldersDone
${If} $previousSearchResult != ""
; If this is not the first loop, delete the folder found in the previous search loop.
RMDir /r "$previousSearchResult"
${EndIf}
; Copy this search result into the previous result var, and try find the next search result.
StrCpy $previousSearchResult $foundFile
FindNext $searchHandle $foundFile
Goto RemoveOldVersionFolders
RemoveOldVersionFoldersDone:
FindClose $searchHandle
SectionEnd
is there any new update?
I've been super busy with college and work over the last few months, and haven't had time to work on anything not related to those.
But what exactly is wrong with my upload that it needs an update?
Error:
⚠️ This email address does not match your Github account. Your commits will be wrongly attributed. Learn more.
Screenshot
Steps to reproduce:
1. Download & open ghdPortable
2. Sign in with Github.com account
3. Clone a repository
4. Close ghdPortable
5. Download & install Github Desktop
6. Sign in with different Github.com account
7. Close Github Desktop
8. Open ghdPortable
9. Go to File > Options (Ctrl+,) > Git
10. Error: ⚠️ This email address does not match your Github account
Error cause:
[user]
data changed in global git config file (%userprofile%\.gitconfig
) after step 6.ㅤ
Feature Request:
Default folder name on
Local path
fromGithub
toghdPortable
when clone or create repository.Screenshot
ㅤ
Sorry for the late reply. ㅤ
Fixed error by adding
[FilesMove]
toghdPortable\App\AppInfo\Launcher\ghdPortable.ini
Add to
ghdPortable.ini
ㅤ
code:
I've just updated this package to v3.3.6. Besides updating the base app to v3.3.6, I've also made two changes related to merging code that I previously had in a custom launcher into the base PAL:
Additionally, I have also uploaded two versions of my PAL. The one is the regular version, and the other is a version where the EXE that auto-updates the base app was deleted. Which one you download depends on whether you want the base app to automatically update itself, or not.
Please add the fix from #13 to the latest version (3.3.8)