Writing a non-portable app converter: need apps to test with

Discuss anything related to portable freeware here.
Message
Author
redllar
Posts: 411
Joined: Thu Aug 03, 2006 7:52 pm
Contact:

#31 Post by redllar »

nycjv321 wrote:This is cool im gonna start trying it out
Hi nycjv321. I'm glad you decided to join the fun. If you do try it out, please take the time to post your results here. I'll do what I can to get it working for any app that it fails to work with, as long as I can download the app from the net and you're willing to wait a bit for new versions.

User avatar
Fluffy
Posts: 457
Joined: Sat Apr 15, 2006 6:37 pm

#32 Post by Fluffy »

redllar wrote:I think RegShot is perfect for its purpose. I can't see replacing it myself.
Fluffy wrote:redllar: how difficult would it be to add a small application to create a "drop target" window for PortaPotty (a small, floating window to drag an executable into and run it through PortaPotty automatically)? At least for testing purposes, it would make the process a lot quicker and easier.
Not hard at all. I had the same idea and almost did that with the first version but decided I didn't want the app hanging around so I made the cmd file instead.
First of all, RegShot is a delightful application, but with PortaPotty it seems I can just run the app through and open up the resulting ini to find out if the registry's been messed with. For some reason, I just find it easier. I'm weird that way. :)

And I'm not suggesting that you drop the .cmd (the CMD file provides a very simple way to create a permanent launcher, which is a very nice thing to have). I just had quite a few apps I wanted to test in a row, so the drop-target seemed easier to me.

On another note, Squarez, one of my all-time favorite time wasters, works beautifully with PortaPotty until you try running it through the cmd. It spits out an .exe just fine, but crashes instantly when you try running the new file.

User avatar
Andrew Lee
Posts: 3064
Joined: Sat Feb 04, 2006 9:19 am
Contact:

#33 Post by Andrew Lee »

Fluffy wrote:Andrew: after testing this app out a bit, I think I've found a replacement for Regshot.
Don't forget, RegShot also monitors changes to files and folders. Great for checking whether the user profile folder has been messed with.
redllar wrote:Hey Andrew, I'm glad the app worked on xplorer2lite. Thanks for the feedback. Did you try and make a standalone out of it?
Yup. Works beautifully. Also tried WinMerge today with success. BTW, just wanna check with you. I notice the generated INI file contains some non-application related registry entries, eg.

Code: Select all

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\@=1
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints\A\_DriveFlags\@=1
Will this impact the registry of another machine when the app is moved around?
redllar wrote:Thanks for the poll as well. Looks like not too many people are interested in the app though.
Aw, pay no attention to the poll. Judging by the responses in this thread, I'd say you've got a winner! Imagine, a tool that will automatically make a great number of previously non-portable apps portable. How cool is that?

User avatar
nycjv321
Posts: 181
Joined: Wed Feb 15, 2006 12:42 pm

#34 Post by nycjv321 »

well i tried it with image burn and it works for me but it did pick up some other settings like it did with andrew does "portaPotty" monitor settings that the app uses or does it monitor settings pertianing to the app i monitored imageburn using regmon and it uses the registry like every second but its only opening and quering for fonts and other things it only wrights to "HKEY_CURRENT_USER\Software\ImgBurn\"

Hopes this helps
and since your might eventually try to incorparate %appdata% and settings writtin to other folders such as C:\windows\thesettingshere.ini
you should check this out for ideas Portable Application Template writtin in NSIS it can make (about) anything portalble
http://portableapps.com/node/2022
it works with anything muliple registry settings, appdata and other settings
and heres another project simliar to portaPotty and is open source so u can check the code out for ideas
http://www.liberta-project.com/liberta/modules/mkport

i have a question is it a virtual registry of does it import export settings to and from the registry

well hoped that helped this app is sweet!

portable-freak
Posts: 57
Joined: Sat Jul 08, 2006 8:39 am

#35 Post by portable-freak »

nycjv321 wrote: ....
you should check this out for ideas Portable Application Template writtin in NSIS it can make (about) anything portalble
http://portableapps.com/node/2022
it works with anything muliple registry settings, appdata and other settings
I like this one very much and I have ported a couple of applications using the script but:
You've got to find out first ( and manually ) about the registry entries yourself and then you'll be able to merge them into the script. PortaPotty does it automatically ( correct me if I am wrong )
I am in favour of portable applications that simply don't touch the registry and I really hope PortaPotty will improve to a better version soon hopefully.
and heres another project simliar to portaPotty and is open source so u can check the code out for ideas
http://www.liberta-project.com/liberta/modules/mkport
Interesting stuff as well, an early Alpha version is available but doesn't redirect the registry entries yet. I am not arguing but the development of that application is taking too much time. Something like this ( "revolutionary" in his own words ) should really take off.

I'll play with PortaPotty a little and report back.
Keep up the good work mate and thanks for the efforts :)

User avatar
Fluffy
Posts: 457
Joined: Sat Apr 15, 2006 6:37 pm

#36 Post by Fluffy »

PortaPotty does automatically detect what needs to be redirected. And as far as a "better version" goes, we've clarified that portability means keeping your settings from one session to another regardless of what PC you're using, so some registry usage is not at all an impact on an application's portability. If you want a completely registry-independent tool that's just fine, but as far as portability goes it's just overkill.

And redllar, just because folks don't vote on the application name doesn't mean your app isn't showing a lot of promise among the community. Keep in mind you're basically releasing a pre-alpha, experimental version to us and for a lot of users that can actually be a bit intimidating. Both Andrew and I are having a great time with your little app and that's a pretty good indication that it's gonna be a real star. Most people also don't really consider a middleman app like this to be very important because they're looking for direct portable software solutions like fast food, pre-packaged and served to them ready to go. For us portability "gurus" this software is a godsend, for most folks it'll probably end up being an unsung hero (though "Packaged with PortaPotty" might become a familiar phrase to them).

Once PortaPotty reaches a more mature stage of development though, I expect you'll see a lot more ruckus. :) Especially if we start getting permission to release portable ports of software like xplorer2lite (though I think that might just violate the terms of service: modifying the program and all).

redllar
Posts: 411
Joined: Thu Aug 03, 2006 7:52 pm
Contact:

#37 Post by redllar »

Okay, I've uploaded a new version with a few fixes and a new drop-window mode, all thanks to Fluffy's deligent testing. You can get it here. The changes are in the changelog.txt file. Fluffy, Future Pinball starts up w/o problems now, but trying to select another table causes the app to silently shutdown. I'm sure it's a similar sort of problem so I've decided to hold off on further testing until I get the missing code written and get things running faster (and maybe run-on-another-box testing.)

redllar
Posts: 411
Joined: Thu Aug 03, 2006 7:52 pm
Contact:

#38 Post by redllar »

Andrew, I'm not sure what that key is used for, so I can't say for sure. It looks like a portable device (A drive letter?) was mounted while the app was active, but why is this under two Explorer keys? I would think it would be under a HKLM/System/CurrentControlSet key. And I'm sure there are others like that as well. I know I have them scattered around for the apps I've been testing with.

The question's a good one though and will have to be answered eventually, but I was hoping one of you guys would answer it for me because I don't really have easy access to another machine. Truth-be-told, this utility is useful to me as a way to keep the registry clean, not for portability concerns. I was going to concentrate on speeding things up next but now I'm wondering if I shouldn't see about this first. Would you be willing to test this or do you want me to?

If they end up being a problem I can think of a few ideas that should work to correct the problem. First, I think they can be automatically filtered out if they're being produced by certain modules (like all system dll modules.) Second, I could softcode (into an generic ini, of course) a set of keys to ignore re-direction for. Last, they could also be filtered out via a user-supplied list (as a last resort.)

Re: the poll, my apologies for sounding like I was concerned. I just really want to settle on a good name for this thing and 3 votes doesn't look like enough to make a decision with.

redllar
Posts: 411
Joined: Thu Aug 03, 2006 7:52 pm
Contact:

#39 Post by redllar »

nycjv321, PortaPotty (PP) doesn't see every single one of those requests that RegMon does, unless you applied a specific exe filter. If you did that, RegMon's output would be close to what PP sees as well, although I'm sure there are requests that PP doesn't see that RegMon does since RegMon uses a kernel-level device driver for its monitoring (or so I've been told.) PP definitely sees and semi-processes those font queries and other "system accesses on behalf of the app" though.

Thanks for the info on the other 2 tools. I've seen references to the NSIS stuff since I use their installer, but I'm not really familiar with it. And since PP seemed to be of interest here I'd assumed it was doing something new. But I'll check into the liberta (cool name) project to see if I'm just duplicating effort. As a general rule though, I try not to spy on or duplicate what others have done as I don't think that would be fair to them. We each have our own ideas and approachs.

PP sort of acts like a virtual app-specific registry, sort of not. It's more of an app-specific extension to the system registry. Interesting thought you had on importing and exporting settings. I still have a few functions to code up but eventually any app run via PP should see a given ini's contents as an extension to the system registry. And any updates and writes to any part of the registry should end up as "extending the extension," if that makes sense. Later queries into the same keys would then be satisfied by the data from the ini and then from the system registry for those values not found in the ini.

Is all that clear enough, or should I come up with a flow diagram or some such. It's really pretty simple in practice, which is why I like the approach, as I've always been a KISS (keep it simple stupid) advocate.

redllar
Posts: 411
Joined: Thu Aug 03, 2006 7:52 pm
Contact:

#40 Post by redllar »

Hey portable-freak. Thanks for the interesting input, especially regarding the liberta project. I guess I'll continue on with PP then.

As Fluffy indicated, PP mostly does what you say it does. It's not fool-proof though. Not every app out there was built to provide itself with a set of defaults for all of its registry-stored settings. And PP relies on the user to manually "exercise" the app to get the settings re-directed into the ini. So yes, it's automatic from the viewpoint that no work outside of the app is necessary but it's not completely automatic. Maybe a database of known apps and how to exercise them would allow PP to "work" the app for you. Kind of like those automated app testers I used to use like WinRunner.

redllar
Posts: 411
Joined: Thu Aug 03, 2006 7:52 pm
Contact:

#41 Post by redllar »

Fluffy, thanks for your input and thoughts as well. For my own use, I still would like to make this thing help an app work as "stealthily" as possible. But I came to you all mainly because I'm interested in what use there is outside of my own selfish interests (and to maybe eventually get noticed and land a job because of it.) But I'm not really concerned about how well it does out in the wild. I wouldn't have a site full of mostly unnoticed (somewhat on purpose) apps if I was. :)

"Packaged with whatever" sounds cool though. But if this thing really does what we hope it eventually does, I don't see any reason why the app dev couldn't use it just like an exe packer would be used.

User avatar
Fluffy
Posts: 457
Joined: Sat Apr 15, 2006 6:37 pm

#42 Post by Fluffy »

WinDirStat works fine with PortaPotty, and also succeeds when building a portable version too.

Foxit PDF Reader hangs when it's run through PortaPotty, using up as much CPU as you can spare and never actually getting to the GUI phase (granted, I only gave it 25 seconds or so, but I figured that's how long Adobe Acrobat takes to start so it was a good time to kill Foxit). Same thing occurs when you're building a portable EXE out of it.

More of a silly test than anything else, I just wanted to clarify that Unreal Tournament 2004 does NOT work with PortaPotty. ;) I'm pretty sure this is due to the modular nature of the game.

Flight Model Simulator (latest alpha) works by running the application through PortaPotty, but cannot build an executeable (Detours cannot see the IAT (1)).

User avatar
Fluffy
Posts: 457
Joined: Sat Apr 15, 2006 6:37 pm

#43 Post by Fluffy »

portable-freak wrote:OK, redllar, Fluffy and all the lads here, thanks so much for making this so lively.
I tried PP ( latest version ) with FoxitReader 2.0 Beta, an ini file had been generated and the application would launch flawlessly but:
Why is this still present?
Glad to know the hanging problem's solved in the latest beta (I was using a 1.3 build) but did you run Foxit before you ran PortaPotty at all? If so, PortaPotty will not remove registry entries. Also, you must run the application through PortaPotty in order for it to use the portable registry (or create a portable EXE through PortaPotty).

User avatar
Fluffy
Posts: 457
Joined: Sat Apr 15, 2006 6:37 pm

#44 Post by Fluffy »

Okay, what the hell happened to his post?! Sorry portable-freak if I somehow deleted it or somehow messed it up, was a complete accident and it was not intentional at ALL. :(

portable-freak
Posts: 57
Joined: Sat Jul 08, 2006 8:39 am

#45 Post by portable-freak »

No problem Fluffy mate, I thought I had deleted my post concerning FoxitReader 2.0 Beta just because I didn't run it the right way I take it.
Now, this has been done the correct way and unfortunately I must confirm the "hanging" issue :( ( CPU 100% )
----------------------------------------------
I want to use PP with another program, the application reads from the generated ini file but doesn't connect, I have got this:

Code: Select all

Date           : 2006-08-12 08:31:03
Exception      : Access Violation at 0x0040BEA8. Thread attemps to read at 0x00000000,Code 0xC0000005, Description:The thread attempted to read from or write to a virtual address for which it does not have the appropriate access
Thread         : CTgWorkerManagerThread
Build          : 0627
Call Stack     :
 (0) : Prog_portable.exe at ?()
---------------------------------------------------
Any hints would be much appreciated.

Post Reply