You are here

Issues with Windows 7 Taskbar and Firefox Portable

72 posts / 0 new
Last post
Formosan
Offline
Last seen: 13 years 3 months ago
Joined: 2007-06-26 23:14
Issues with Windows 7 Taskbar and Firefox Portable

As many of you know, the taskbar in Windows 7 works a little differently than Windows in the past. If you pin an application to the taskbar, it doesn't go away when you close the app. This feature in Windows 7 has essentially replaced Quick Launch toolbar.

The problem with Firefox Portable (and probably other portable apps) is that it actually launches two versions of Firefox (portable and the app itself), so if you pin the portable exe to the taskbar, the app exe will still show up in the taskbar and you would see two firefox icons. If you pin the app exe itself, it acts like regualar firefox installs and your personal settings are stored in the user folder.

Is a fix for this possible?

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Nope

Windows 7 itself doesn't properly handle multi-exe apps unless you manually hack an AppID onto both, which isn't apparently possible without altering the base app.

Sometimes, the impossible can become possible, if you're awesome!

froxic
Offline
Last seen: 13 years 2 hours ago
Joined: 2009-12-07 15:40
it there any progress of

it there any progress of situation about pinning firefox portable from USB/ramdisk? Its lightening fast on my notebook, but multi icon on taskbar look lame. So is there any hack, tweak, to fix it? If i cant fix it...

Cau fix it Developers in next build, or its unsolving problem?

Thx a lot for any reply

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
No

As mentioned, the only workaround Microsoft has provided is setting an AppID which must be done at COMPILE time. As Firefox does not have one, we can't add one in (not without recompiling it, in which case it can't be called Firefox any longer), so we can't match it in the launcher. So, it's not gonna work. This is a design-level flaw in the Windows 7 taskbar and there is no simple workaround.

Sometimes, the impossible can become possible, if you're awesome!

froxic
Offline
Last seen: 13 years 2 hours ago
Joined: 2009-12-07 15:40
Thanks for lightening fast

Thanks for lightening fast reply, but it dissapoint me a little bit. So, if Mozilla corp add AppID in some newer versions, then Firefox Portable can be pinned to taskbar? So, im going to make topic on Mozilla Firefox support forum Smile

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
ORLY?

You can set the AppID with a system call. It is not marked in the EXE headers or anything like that. A XPCOM component coupled with a small extension would work as long as it is initialized early enough.

There is yet another method, that is more complicated, but allows for finer control: setting the AppID individually on each of Firefox's windows. This would work better as you'd be able to, for instance, set diff. AppIDs for diff. Prism applications.

http://msdn.microsoft.com/en-us/library/dd378422%28VS.85%29.aspx

computerfreaker
computerfreaker's picture
Offline
Last seen: 11 years 2 months ago
Developer
Joined: 2009-08-11 11:24
Trademark issues

Sure, we could set the AppID, but then we can't call it Firefox anymore.

John T. HallerAs mentioned, the only workaround Microsoft has provided is setting an AppID which must be done at COMPILE time. As Firefox does not have one, we can't add one in (not without recompiling it, in which case it can't be called Firefox any longer), so we can't match it in the launcher.

(Emphasis mine)

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Don't Think So, Won't Help

I don't think an extension can do it itself.

Even if it can, it still won't help as when you click to pin Firefox's window, you pin firefox.exe... NOT FirefoxPortable.exe... because the Windows 7 taskbar doesn't understand multi-EXE apps. At all.

Sometimes, the impossible can become possible, if you're awesome!

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
ORLY? (again)

Just did it, works perfectly: an extension coupled with a XPCOM DLL (that can do pretty much whatever it wants) in Firefox, and a few extra lines in FirefoxPortable to set the AppId solve a great part of the problem.

The only annoyance, like you mentioned, is that you have to take extra steps to pin FirefoxPortable to the taskbar. In my case, I just added a command line switch to the NSIS code that shows an MsgBox, which allows you to do what you need while it is displayed.

I'll clean it up a little and post it somewhere if you guys want to test it.

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Sure

Sure, it would be handy to see.

But we're gonna continue to recommend against it as a general rule. While we can set the AppIDs in the launchers, we can't set them in most apps. It seems it can be set in firefox with the extension hack... but as we can't bundle the extension with Firefox Portable, that's still several extra manual steps for people. And it won't work with other apps we have here, which means it's just a quick hack for a single app (well, 4 actually, as it would in theory work with Thunderbird, Sunbird and Songbird if it were coded to work with them, too).

This would be a LOT easier if the Win7 taskbar was made to properly support multiEXE apps. But there's nothing we can do about that.

Sometimes, the impossible can become possible, if you're awesome!

beneee
Offline
Last seen: 12 years 10 months ago
Joined: 2007-08-28 08:30
Great!

Can you please post details of what you done or/and a package that we can test it? The extra lines in the launcher would be great too! I am very interested in it. Thank you!

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
Here it is

* How it works *

  • Make FirefoxPortable set it's AppID. Easy to do, we can edit the code
  • Use a Firefox extension coupled with a native DLL, interfacing through XPCOM, to set Firefox's appID on start.

* What you need *

  • Apply the provided patch (on FirefoxPortable 1.6.6.0's source) containing the needed changes. You can use TortoiseMerge, WinMerge, or any other software you prefer. Afterwards, compile FirefoxPortable.nsi with NSIS.
    Or just use the provided compiled executable. I wouldn't be that trusting though.
  • Install the extension in Firefox. The DLL provided as a compiled version, but source code is also included. If you can, you should check and compile it yourself: a little paranoia can be healthy when running native code from random people on the internet.

* How to use *
If done as I said, you need not do nothing: both applications will default to the AppID 'Mozilla.Firefox'. By default, the first run of FirefoxPortable will show you a dummy message box. That's when you should pin the program to the taskbar.

If you want to costumize or disable the AppID setting, you can the following:

  • For FirefoxPortable: replace 'Windows7AppID' with the desired AppID (or an empty value for disabling) in your .ini file.
  • For Firefox, you have two options.
    • Edit/disable the default AppID on the add-on's options page.
    • Pass an AppID on the command line with the '-win7appid=my.app.id' parameter. As you probably figured out, an empty value disables it.

win7appid.zip

beneee
Offline
Last seen: 12 years 10 months ago
Joined: 2007-08-28 08:30
Download Link not working

Download Link not working here, perhaps you can upload it to another site? Thank you again!
Edit: Working now, i test it, thanks.
Edit again: Not working here. Is the provided FirefoxPortable.exe already patched? I overwrite the normal one with yours and installed the Extension. I have no Dialog Window or something.

beneee
Offline
Last seen: 12 years 10 months ago
Joined: 2007-08-28 08:30
Ok Dialog is coming. But it

Ok Dialog is coming. But it does not work. I pin it to the Taskbar but it not works. It shows me the second symbol for the started firefox.

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
Check Firefox's error log for

Check Firefox's error log for any messages. And just check the add-on's options dialog, making sure 'Disabled' is not checked and the textbox contains 'Mozilla.Firefox',

djace
Offline
Last seen: 12 years 10 months ago
Joined: 2010-01-09 11:06
Unable to Download

Hi!

I'm also trying to check this workaround out, but the MediaFire download URL provided doesn't work: a MediaFire error pops up stating that there are no content servers available to serve the selected content. I've retried for a couple of hours now, and on different browsers, without success.

Can you please upload this somewhere else?
Thanks Smile

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
Any suggestions of upload

Any suggestions of upload sites? So far MediaFire is one of the few that worked flawlessly (still does for me, but doesn't matter if it's not the same for everybody else).

Here are some extra mirrors anyway:

MediaFire (re-uploaded)
RapidShare
Deposit Files
4shared

beneee
Offline
Last seen: 12 years 10 months ago
Joined: 2007-08-28 08:30
I checked the Error Log, it

I checked the Error Log, it shows an error on:
Cu.reportError("(win7appid) AppID="+AppID); on Error: (win7appid) AppID=Mozilla.Firefox
Source File: file:///D:/FirefoxPortable/Data/profile/extensions/win7appid@danielkza/components/Win7Utils-CmdLineHandler.js
Line: 56
What can i do now? I test it with a fresh Firefox Portable from here, unpack, copy your FirefoxPortable.exe to the directory, start it, install extension, restart.

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
weird

This line is not actually an error, it just shows what AppID is being used.

If there was actually an error, you would see another error right after the one you mentioned, with the following line:

"(win7appid) Failed setting AppID. Error: "

If it's not there, it means the problem could be with FirefoxPortable. Have you tried setting it's AppID manually, by adding an 'Windows7AppID' value to your .ini file?

beneee
Offline
Last seen: 12 years 10 months ago
Joined: 2007-08-28 08:30
Yes i set

Yes i set Windows7AppID=Mozilla.Firefox in .ini, i also test "Fire" in .ini and "Fire" in the extension. It does not work for me :/ What can be the problem here?
AppID in .ini dont work
No ini, only extension and FirefoxPortable.exe dont work
You suggest i can give Firefox commandline parameter -win7appid=my.app.id, so i did FirefoxPortable.exe -win7appid=Mozilla.Firefox , dont work. It shows an error in error console that the commandline parameter dont exist.
Perhaps you can upload another FirefoxPortable.exe perhaps there is something wrong with it?

djace
Offline
Last seen: 12 years 10 months ago
Joined: 2010-01-09 11:06
It Works

As I said a couple of days ago in a post below, the extension + FirefoxPortable.exe pair works flawlessly for me on Win7 64-bit, so there must be something different about your setup that makes it not work.

beneee
Offline
Last seen: 12 years 10 months ago
Joined: 2007-08-28 08:30
Did you compile

Did you compile FirefoxPortable.exe yourself or do you use the provided one in the win7appid.zip archive?

djace
Offline
Last seen: 12 years 10 months ago
Joined: 2010-01-09 11:06
Provided

I used the provided extension and FirefoxPortable.exe.

What about you?

beneee
Offline
Last seen: 12 years 10 months ago
Joined: 2007-08-28 08:30
I also used the two provided

I also used the two provided files, strange Sad Why it doesnt work here.

risyasin
Offline
Last seen: 12 years 7 months ago
Joined: 2010-04-12 04:02
quick dirty solution against multiple icons in taskbar windows 7

First of all, i only use thunderbird portable with a few addons that saving my life.
& it's portable by portableapps.com, thank you for all.

As all of you know, we can not pin application icon in taskbar with only executable path. i mean when you right click executable itself or shortcut to pin to taskbar. it's only using applications path. but doing it with shortcut also adds commandline parameters.

Here is the solution, Use mark russinovich's process explorer in sysinternals site. grap the commandline parameters of your portable applications with the process properties window (just double click on application's process not the portable application process.) then create a new shortcut with the proper commandline parameters. DC on it & test it. see it'll work or not. if it works you can pin it to taskbar with safe. if not you may need to wait.

Jimbo
Offline
Last seen: 2 years 10 months ago
Joined: 2007-12-17 05:43
No, no, no

Launchers don't only add command line parameters.

They also load and save registry keys, move settings and data files around, and back up and restore settings from locally installed applications.

What you have suggested will work for some apps, but will cause others to leave personal data behind, or fail to find settings, or to trash the settings of the local app.

Kermode
Offline
Last seen: 10 years 1 month ago
Joined: 2008-07-18 17:11
How would you have designed

How would you have designed the taskbar?

How can the taskbar remember normal firefox on the bar if firefox doesn't have an id?

And is there a way us outside users not affiliated with this website, can hack an id into Firefox?

Curium
Offline
Last seen: 12 years 4 months ago
Joined: 2010-07-14 17:04
"How to" - the easy way!

This probably works with all apps. Only tried it with Thunderbird portable.

- Pin the app as usual
- Right-click on the icon in the task bar while holding down the shift-key. (the apps has to be closed)
- Go to "Properties"
- Now you can alter the path as you would with any shortcut in windows!
- Just point the path to the right exe, the launcher.

Hope this helps. Have been cursing this problem my self for a long time until I found this out.

-----------------------------------------------------------------------------------------
To most people solutions mean finding the answers. But to chemists solutions
are things that are still all mixed up.

ZeroTheGreat
Offline
Last seen: 11 years 7 months ago
Joined: 2011-04-29 22:25
It works. Thx.

It works. Thx.

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
Resetting the post tree lol

Yeah, I forgot, I'd appreciate if anyone could just try and see if Firefox does not explode or anything of this sort if you try to load the extension on XP/Vista.

Thanks.

djace
Offline
Last seen: 12 years 10 months ago
Joined: 2010-01-09 11:06
Yay!

Thanks Daniel! This works flawlessly on my Windows 7 64-bit with Firefox Portable 3.5.6. Got the initial popup, pinned it to the task bar, installed the extension, restarted, and only one taskbar icon appears Smile

Just tried it also on a Windows XP system, and nothing special happened.

Will this be included in official releases? I don't like the idea of having to recompile FirefoxPortable.exe only for this feature! Biggrin

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
Am I the only one using Thunderbird?

Just tested ThunderbirdPortable, works fine as well, as long as you, of course, did the proper modifications to the launcher, and set the AppID of both the launcher and Thunderbird to match.

It's a piece of cake to adapt the changes yourself, but if anyone wants them just ask and I'll post a patch.

BTW, this time I tested it with a clear profile, and everything seemed to work. *Please* post any issues you have, it'd be of great help.

Daniel

djace
Offline
Last seen: 12 years 10 months ago
Joined: 2010-01-09 11:06
Any News?

Anyone know if this will this be fixed in FF 3.6?

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
No

It's not something that can be fixed by us or by Mozilla. It's a flaw in the way the Windows 7 taskbar is designed. It doesn't properly support multi-EXE apps. It affects all apps with sep. launchers. It affects local apps that have one EXE call another.

The most we can do is hack it so that Firefox and the launcher have the same AppID via an extension (which we can not bundle).

Sometimes, the impossible can become possible, if you're awesome!

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
not really

Since Mozilla will eventually add support for Windows 7's taskbar extras, I assume they will set their AppID properly, and we will have no more problems. Meantime we will have to make do with far from ideal alternatives.

There is a much more difficult, yet possible, way to handle the problem: use a shell hook to detect when a Firefox window is created and set its AppID through the PropertyStore. Unfortunately, it's a very ugly hack, and not practical or recomendable in any way.

I'm not sure why MSFT chose not to allow setting or reading other Process' AppID, but I imagine security concerns must have been the reason: providing an easy way for malicious programs to disguise themselves as other, legitimate software doesn't seem very smart.

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Nope

You'll still have the exact same problem. Namely that when you "PIN" the Firefox window (as 95% of users will do), it'll pin firefox.exe instead of firefoxportable.exe. Without an external way of defining this, it's broken and can't support one EXE calling another.

Our little extension hack will let you pin FirefoxPortable.exe. And if Firefox eventually gets a real AppID, we'll be able to do it without an extension. But we'll still have that multi-EXE issue since the taskbar can't deal with it.

Sometimes, the impossible can become possible, if you're awesome!

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
nop

You can set the correspondent executable path/command for each individual window.

http://msdn.microsoft.com/en-us/library/dd378459%28VS.85%29.aspx#where

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
But

But again, I don't see how that really helps us with our problem.

Getting it to work with multiple EXEs is this overly-complicated, crufty mess.

There's NO WAY, we can get this working with 95% of our apps without modifying them all (many of which we can't due to licensing). We may be able to hack it into Firefox, Thunderbird and Sunbird with an extension. But we still need to tell people not to pin it until they manually download the extension, install it, restart Firefox, then they can pin it, and it should work. But all the rest of our apps will fail.

Since this problem is completely unsolvable for most of our apps, I think our official position is that it is unsupported and not recommended... but here's a hack for Firefox if you want to try it.

Sometimes, the impossible can become possible, if you're awesome!

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
You seem to have missed the

You seem to have missed the point. There is no need for extensions nor modifications on any other apps. except the portable launcher when using the afforementioned method.

It is not the most elegant method, but it is far from complicated, specially considering that not having control of the application being manipulated is neither the most common case nor the one the Taskbar API targets.

I'm trying as much as I can to check all possible alternatives for one that could work. I understand you resistance: there are many possible issues, but I'd rather provide an ugly workaround than no alternatives at all, and at least try all available methods before resorting to the usual WinAPI bashing.

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
How

I understand your willingness to help, but I'm still missing entirely how this will help with, say, Notepad++. We can't alter the AppID of Notepad++.exe (may be a bad example, because, like many of these apps, it will probably never have a manually-set AppID, but let's assume it does). And we can't tell Windows that when they pin it, it should really pin Notepad++Portable.exe. So, we still have to tell users "No, you can't just pin the app" for nearly every app.

And we can't find out the AppID of an app without analyzing the source (can we?), so we can't set it in the launcher and even provide the work-around of telling users to drag and drop Notepad++Portable.exe to your Windows 7 task bar and that will pin it. And if we don't have the source (Skype, Canabalt, TeamViewer, uTorrent, etc) we won't know the AppID either.

What I'm looking for is an explanation that we can accomplish those two things *without* modifying the base app at all or having access to the source. My annoyance with the API comes from the fact that this could have been accomplished trivially with configuration files and the fact that it seems like an overly-kludgey mess from looking at it.

Sometimes, the impossible can become possible, if you're awesome!

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
It's there in the MSDN link I

It's there in the MSDN link I posted: if you manually set each window's AppID/launch command, you can cross the process boundary. You could check for newly created windows either through a shell hook (possibly more elegant, not necessarily easier) or the old polling.

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
One to Another

I thought from my earlier reading that one EXE cannot alter the AppID/launch command of another process. Is that not the case? It's tough to tell as the example code all seems to apply for its own process (and only in .NET languages). If someone can write something in NSIS or C++ that can be compiled as a plugin for NSIS, I'd be happy to work on including it in the launchers, including the upcoming generic launcher. At the moment, though, I don't have the time to work on this myself. I'm busy with platform work (which is getting a couple Win7 additions as well).

Sometimes, the impossible can become possible, if you're awesome!

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
yay

I think I finally solved the problem: after some struggling, I managed to get the AppID-aware shortcuts to work. This means we can solve the problem without any need to alter applications by creating a special shortcut and launching it: the started process will have any AppID we like.

Unfortunately, the pinning problem (that I thought could be solved), can't: using this method, you cannot set the relaunch command, which is unfortunate, but definatly much better than the previous method.

John, if you want me to make it an NSIS plugin, I'd be happy to, but I'd could take a bit more since my vacation ends tomorrow. As of now it is a simple command line EXE, but if somebody wants it anyway to test it anyway just ask for it.

beneee
Offline
Last seen: 12 years 10 months ago
Joined: 2007-08-28 08:30
Upload it somewhere so we can

Upload it somewhere so we can try it out Smile And share infos what it does and how, thank you again.

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
ok

MediaFire
4shared
RapidShare

All the info. you'll need is in the help text (run mkshortcut.exe with no parameters from the command prompt).

Daniel

Gubtor
Offline
Last seen: 12 years 9 months ago
Joined: 2010-02-21 13:12
instruction

Can you write a small instruction?

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
Extract the .exe from the

Extract the .exe from the .zip you downloaded into Firefox Portable's folder. Then open a command prompt pointing to the afforementioned directory (you can do that by Shift+Right-Clicking the folder in Windows Explorer).

Type the following in the recently-opened command prompt, then hit enter:

mkshortcut.exe -output FirefoxPortable.lnk -target "%cd%\FirefoxPortable.exe" -appid Mozilla.Firefox

Now you should have a new shortcut in FirefoxPortable's folder. Pin it to the taskbar. If you're running the extension, you should not see duplicated icons anymore.

===

This method can (hopefully) be adapted to work with all PortableApps. No user intervention or Firefox extension would be needed if it was included as an NSIS plugin or something alike in the launcher.

Gubtor
Offline
Last seen: 12 years 9 months ago
Joined: 2010-02-21 13:12
It doesn't work

It doesn't work Sad

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
What part exactly?

What part exactly?

Petebob796
Offline
Last seen: 11 years 10 months ago
Joined: 2010-03-05 06:31
Doesn't seem to work

Hi danielkza I have also just tried this on a Windows 7 32 bit machine it doesn't seem to work for me either. I followed the instructions you posted:

Copied mkshortcut.exe into the same folder as FirefoxPortable.exe

Created a .bat file in the directory with:
mkshortcut.exe -output FirefoxPortable.lnk -target "%cd%\FirefoxPortable.exe" -appid Mozilla.Firefox

The reason I used a bat was I can't open a cmd prompt directly due to silly security restrictions but I think this is the same.

It created the link but on pinning it to the task bar I still end up with the two firefox icons. Any ideas?

My particular version is FireFox 3.5.8

I will try it on my 64 bit machine when I am at home.

Gubtor
Offline
Last seen: 12 years 9 months ago
Joined: 2010-02-21 13:12
Watch the
Petebob796
Offline
Last seen: 11 years 10 months ago
Joined: 2010-03-05 06:31
Same result with me, you are

Same result with me, you are doing exactly the same as I am.

Petebob796
Offline
Last seen: 11 years 10 months ago
Joined: 2010-03-05 06:31
Working Now

I have got it working now I didn't read the last part of the instructions because they were after a ==== sign which made me think they were some footnote stuff.

Basically as well as creating the shortcut with the provided mkshortcut.exe you also need to add the Windows 7 AppID extension to firefox found in an earlier download. I had to update to firefox 3.6 to get it to work.

Infernostr1ke
Offline
Last seen: 12 years 9 months ago
Joined: 2006-05-23 12:02
Please can you make a loader?

I've downloaded that mkshortcut program but its not able to save the shortcut. Would it be possible to get a pre-compiled portable.exe for Thunderbird, I've already got the AppID extension running.

ugumba
Offline
Last seen: 12 years 5 months ago
Joined: 2008-08-26 07:35
Pin the running executable, then add commandline to shortcut

Here's how I do it (tested and working with PortableApps Firefox, Skype and Chromium):

1. Launch the PortableApp
2. Pin to taskbar
3. Use e.g. Sysinternals' Process Explorer (or even Task Manager) to get the command line of the running process
4. Right click pinned icon
5. Right click the app icon in the list that pops up
6. Click Properties
7. In the Target box, append the command line from item 3 above.
8. Click OK

It's a bit involved, but it you should have a working, pinned PortableApp.
Now, I'm aware that purists will frown upon the fact that the portable wrapper is never executed, but it's good enough for me.

Jimbo
Offline
Last seen: 2 years 10 months ago
Joined: 2007-12-17 05:43
Uhhhh, nope

that will NOT make apps portable in general.

If you want reliable portability and clean operation, you must run the launcher, since most of them do far more that just adding some command-line options to the app.

They're responsible for loading and unloading registry data, files stored in APPDATA, and various other things.

Running it the way you are, in general, has no advantages over running the normal installed application.

meep.com
Offline
Last seen: 12 years 5 months ago
Joined: 2008-05-20 19:22
It's a good workaround though.

I primarily use Portable Firefox as a way of keeping my profiles in sync between my laptop, my flash drive, and my work computer. This way, I still have the benefits of a pinned application (Win+# shortcut, etc) while also maintaining synchronization. Since I've pinned it on my home laptop, the "portability" benefits that you mentioned are moot. However, you do have an excellent point for non-personal computers (ie. security).

smjs
Offline
Last seen: 4 years 4 months ago
Joined: 2018-08-06 14:25
This works

Yes, this works for me (but in step 7, instead of append, I replaced the entire line with the new command line). It works for my portable waterfox and chrome.

jumbuck
Offline
Last seen: 12 years 8 months ago
Joined: 2010-04-05 20:28
It works!

I tried a bunch of things, and finally got it to work on Win7 32-bit. Here’s what worked for me:

1. Modify AppID of Firefox.exe
     • Download Win7AppID package from one of the links in this comment.
     • Install the included add-on
          • In Firefox: File→Open, then navigate to win7appid.xpi
          • No need to change settings – will default to AppID of Mozilla.Firefox
2. Modify AppID of FirefoxPortable.exe
     • Download mkshortcut.exe from one of the links in this comment.
     • Copy mkshortcut.exe to the folder containing FirefoxPortable.exe
     • In Windows Explorer, right click on that folder→Open Command window here
     • Type following into command window, then hit enter:
             mkshortcut.exe -output FirefoxPortable.lnk -target "%cd%\FirefoxPortable.exe" -appid Mozilla.Firefox
3. Pin new shortcut to Taskbar
     • Right click on new link→Pin to Taskbar

Voila – Firefox windows get added to the launcher taskbar icon when opened. Thanks a ton Daniel for all your work on this!

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 week 6 days ago
Developer
Joined: 2006-11-17 15:31
Technical explanation

Short answer: Not easily.

Long answer: Windows 7 pins the EXE file that owns the window. This won't work for most portable apps because this is a different EXE file from the launcher, and the launcher usually has to move some stuff around and pass special command line parameters to the app EXE in order to make it work portably. Without any of that the app will run like it is a locally installed program (or it won't work at all).

Signature automatically removed for being too awesome.

Curium
Offline
Last seen: 12 years 4 months ago
Joined: 2010-07-14 17:04
"How to" - the easy way!

This is a re-post of a reply to the original message. Didn't realize that it doesn't get posted at the bottom...

This probably works with all apps. Only tried it with Thunderbird portable.

- Pin the app as usual
- Right-click on the icon in the task bar while holding down the shift-key. (the apps has to be closed)
- Go to "Properties"
- Now you can alter the path as you would with any shortcut in windows!
- Just point the path to the right exe, the launcher.

Hope this helps. Have been cursing this problem my self for a long time until I found this out.

-----------------------------------------------------------------------------------------
To most people solutions mean finding the answers. But to chemists solutions
are things that are still all mixed up.

pierce71588
Offline
Last seen: 12 years 4 months ago
Joined: 2010-07-24 21:33
Solution?

So I am not sure if there is a better solution for this yet or not, but I have come up with something that works for what I believe is all apps, not just firefox. As shown in many posts it is possible to change the app id of a program by using a shortcut to the exe. Using this method we are able to change the app id of the app launcher. Which as again has be specified, if the actual exes already had app ids we could just mimic theirs. But since these are not set, we are not able to mimic them.

However, there IS a way to set the app id. And that is via a shortcut. Now I tried changing the app launcher using the ini file to tell it to run a shortcut instead. This didn't work and I am not quite sure why. So instead I wrote a very small program, that basically will run the shortcut file instead of the exe. Now in theory I should be able to enhance it to make sure it passes through all of the command line arguments. Now I am able to use a shortcut on both exe's which allows me to change the app id of both of them to the same thing. I am not quite sure if there is any issue with how I am executing the shortcut but I don't believe there is. Let me know if you see anything that makes this non portable

Now this is a very complicated way to do it, however it works! (It also could be built into portable apps I believe which would make it dead easy and remove the need for an extra exe in between).

So summary:
shortcut to PortableApp and change app id to your choice.
change name of actual exe (add a 2 on it?)
shortcut to the actual exe and change the app id to your choice.
rename my exe to that of the program

Obviously this could also be done "better" but using the ini file in order to tell it to run my exe instead of the actual exe. That way the real program keeps its same exe name. However, I know on at least one portable app the ini file doesn't work correctly.

I would like your comments on what you think. I can also include my file, but it is very primitive, just to see a proof of concept right now.

Edit: After thinking about it, I think my current solution would be a problem if the drive letters were to change. But there is no reason their couldn't be a script for correcting this, (re-create shortcuts).

John T. Haller
John T. Haller's picture
Online
Last seen: 55 min 8 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Post It

I say post it. I have some thoughts on how we could incorporate shortcuts into the launching mechanism that may work.

Sometimes, the impossible can become possible, if you're awesome!

pierce71588
Offline
Last seen: 12 years 4 months ago
Joined: 2010-07-24 21:33
Hmm

I will post it tonight when I get home. It is rather interesting though. It worked perfectly on putty and firefox. Then I went and tried it on other ones like filezilla and google chrome. And none of these ones worked. My only thought is that they already have application ids and so they are overwriting my shortcut application id.

dpcdpc11
Offline
Last seen: 5 months 3 weeks ago
Joined: 2008-03-28 16:12
hey pierce...

hey bro... did you manage to find a way to make firefox 4 beta portable? cause it's driving me crazy... it used to work just fine on FF 3.6 but not anymore on FF4 beta.
Do you have a solution?
I've tried changing the ID name in the .ini file and also in the shortcut but nothing worked.

Thorus
Offline
Last seen: 11 years 12 months ago
Joined: 2010-12-10 16:01
Solution for chrome

Hi,

I've found a very simple workaround for Chrome, just pin a .html file, then it loads your profile and is only on icon^^

Are there working workarounds for thunderbird, firefox and/or pidgin? I just tried some of the ones posted here but nothing worked, and I could not find the addon for thunderbird to pin it correctly, can someone post a link plz?

So far

danielkza
danielkza's picture
Offline
Last seen: 11 years 10 months ago
Joined: 2010-01-02 21:59
Firefox 4 sets it's on AppID

Firefox 4 sets it's on AppID now: you needn't and shouldn't use the add-on I posted a while ago. mkshortcut.exe is all you need now.

First, you need to find the AppID for your exact Firefox version. Do it by going to about:config and taking note of the value of the 'browser.taskbar.lastgroupid' key. I'm running Beta 9, and it is 'Mozilla.Firefox.4.0b9'.

So, what you'd do is drop mkshortcut.exe on your Firefox Portable folder, then run the following command after Shift+Right-Clicking the folder and choosing 'Open Command Window here' (replacing Mozilla.Firefox.4.0b9 for whatever AppID you wrote down before, obviously):

mkshortcut.exe -output "Mozilla Firefox Portable.lnk' -target "%cd%\FirefoxPortable.exe" -appíd "Mozilla.Firefox.4.0b9"

Now pin the shortcut that was just created instead of the FirefoxPortable.exe itself to the taskbar and you're set.

I created an AutoIt script to automate the process, since there were and will be quite many Beta and Release Candidate versions. Get it here, save it in your FF portable folder along with mkshortcut.exe, and run it to get an updated shortcut whenever you need it.

GollyJer
Offline
Last seen: 2 years 9 months ago
Joined: 2007-06-21 13:07
Working great.

Thanks Daniel.

Panel
Offline
Last seen: 11 years 4 months ago
Joined: 2008-10-10 14:22
Small fixes, but it works like a charm :)

hello danielkza
First of all great job Smile

Second is that in my case (Win 7 x64, FF 5.01) to make it work i have to drag generated shourtcut (Mozilla Firefox Portable) into task bar to make it working (If i pinned app runned from shourtcut previous firefox preferences wasn't working - it looks like FF used profile setting from current user profile instead of FF Portable folder).

Third you did 2 small typos, so here is correct command
mkshortcut.exe -output "Mozilla Firefox Portable.lnk" -target "%cd%\FirefoxPortable.exe" -appid "Mozilla.Firefox.5.0.1"

Torpedro
Offline
Last seen: 9 years 2 months ago
Joined: 2006-02-05 14:52
Issues with Windows 7 Taskbar and Firefox Portable - Workaround

Hi,
Since FF12 none of the methods work anymore.

I use the Portable Version mainly because the Size of the windows User Profile is limited.
I found a workaround to use the Protable profile and get full Pinning features:
Just create a Firefox Profile (firefox.exe -p) and point it to
#:\\PortableApps\FirefoxPortable\Data\Profile
Start either
#:\\PortableApps\FirefoxPortable\App\Firefox\firefox.exe
and pin it, or start
#:\\PortableApps\FirefoxPortable\FirefoxPortable.exe
wait for the Main Taskbar Item and pin this.

The Shortcut is only available when the Driveletter and Path are the same, but for the "Main Computer" it's perfect for me.

s3n0
Offline
Last seen: 8 years 7 months ago
Joined: 2014-04-24 11:44
no difficult

My problem was equal, but with Mozilla Thunderbird, not Firefox.

Here is simple solution:

1. run your PORTABLE APP - Mozilla Thunderbird Portable (or Portable Firefox) thorought "portable.exe" file (not exefile from App folder, but exefile from root folder ! for example "ThunderbirdPortable.exe")

2. icon of portable application will be showed in Windows 7 TaskBar

3. use RMB 1x click (Right Mouse Button click) on this icon and select "set as PINNED on to taskbar"

4. close your portable application

5. again use RMB click on the taskbar icon of your portable APP
- go to your APP name (for example Thunderbird) mouse over (in context-menu) and use RMB click
- select "Properties" from this secondary context-menu
- by screenshot: http://i60.tinypic.com/nfoazb.png
- you must correctly to edit both directories: executable file directory + working directory path
(
for example to edit executable file directory path:
"d:\Programiky\Mozilla_Thunderbird_Portable\App\thunderbird\thunderbird.exe"
to
"d:\Programiky\Mozilla_Thunderbird_Portable\ThunderbirdPortable.exe"
)
- save changes

6. done, try it Smile

Enjoy It Blum

---s3n0---

fawadshah33
Offline
Last seen: 7 years 6 months ago
Joined: 2015-05-16 03:18
Solved

I have discovered a method to truly pin your FireFoxPortable. i have made a guide with pictures. just try it and enjoy. 100% working.

https://drive.google.com/file/d/0B_XQMJ3MrzxlQlloQW5RTnJ6Ymc/view?usp=sh...

Update
============================
A better method is as described by
http://www.neowin.net/forum/topic/985014-guide-pin-programs-with-custom-...

Log in or register to post comments