Domain: thinstall.com
Stories and comments across the archive that link to thinstall.com.
Comments · 25
-
Re:Improved snapshots?
I completely agree - I have a pair of mutually-incompatible versions of the same application...
Another application that you may want to look at, also from VMware, is ThinApp (previously Thinstall). Rather than providing virtualized hardware to a guest operating system which then runs "native" applications, this approach provides a virtualized operating system to the applications.
Basically, rather than actually installing your apps onto the system that you're running, you're installing them into a differential file that references your host system. You could install each version of the app, each in a different thin wrapper, and thus the changes that each makes would be suppressed from the other (as each would only be making changes in their own differential file).
Sadly, it is far from a free technology...
-
Very not free but...
Sounds to me that you might look into the API of Thinstall. It has to keep track of all changes so that it can run a packager. I have played with a few apps that have been created from it and they seem to work great. I imagine that if the API is good getting to that info and even tweaking it might be possible.
Sera -
Re:Windows User
Actually, just wait. This is just mindless speculation, but don't you think it is interesting that VMWare bought Thinstall?
All of a sudden, you have an application that can emulate a whole machine, merging with something that can take an application an all its dependencies and wrap it into a single executable. Call me crazy, but I think you will start seeing a product where you can wrap your favorite app, along with an underlying supporting OS running on a virtual machine, to target any other OS you want. -
Re:Really?If you're trying to say that Microsoft could write a new, more simple, GUI for the "Vista kernel" and make it run on lower-end hardware? You're probably right, but not without also modifying the kernel to pull out ALL that backward compatibility stuff. actually they did do this - the Aero Glass interface can be run without the 'glass' bit. It looks a bit manky, but it works. And, of course, you can go straight for classic mode which works just fine too.
WRT legacy stuff, scrapping it is a nice-to-have but not practical in the real world. Not unless you like upgrading all your apps to new versions. It was difficult enough when Vista came out and there was a genertal lack of driver support. Imagine how much worse it would be if you had to wait for all your apps to be ported. And then that'd mean suppliers would have to maintain multiple versions for people who hadn't upgraded yet. I'm sure they'd be happy to support Firefox 2 for Windows 2000, Xp, Vista, as well as for Mac, Linux, etc etc etc.
Windows 7 may have a better approach to legacy code than MS has so far attempted. I think the problem is that as time goes by, the amount of legacy grows, and now we're into Windows v6 its gotten a little too much to be maintainable. However, I think they'll still do pretty much the same kind of thing they've always done.
Incidentally, the kind of 'legacy in a box' approach is being worked on at the moment - have a look at 'Thinstall' from VMware. Its new and in beta but its a form of VM app in a window, rather than an entire virtual machine in a window. -
Being Constructive.
I'm addressing all the posts that go along the lines of "Windows Suxxors" here. Linux can be technically superior to Windows in every way and that is still not enough. It's a Windows world and it's going to stay that way for the forseeable future. The reason for this - and pointing out that comparing Windows to Linux alone is myopic - is that people don't really buy Windows, they buy compatibility with software. Or what Ballmer refers to as the "ecosystem". Linux is great but I can't walk into a BestBuy and buy anything software wise for it. How to go about getting around this feedback loop? Well, virtualization at the application level is the single approach that can actually break the loop. Things like Thinstall which was just purchased by VMWare or the ubiquitous Wine project. Weaning people off of the Windows dependence does not begin with Windows, it begins with it's applications.
-
Re:3rd party dependance
-
Been there, done that.
Thinstall (http://www.thinstall.com)
Xenocode (http://www.xenocode.com)
Sandboxie (http://www.sandboxie.com) -
Re:Google sucks
This actually isn't Googles fault. Check the servers robots.txt and you'll notice that it's disallowing all search engines from indexing the
/help/ folder. -
Google sucks
I have NO idea what Google has recently done, but their search now completely blows. They seemed to have trimmed their database, but FAR to aggressively. I have been noticing a lot of searches that should bring up thousands of pages, bring back maybe a couple, if any. Here is my most recent example (about a Thinstall variable):
http://www.google.com/search?q=DirectoryIsolationM ode - returns 8 hits. The most useful link off the search is https://thinstall.com/help/index.php?attributes_in i2.htm. In itself, this isn't very useful, but the link on the page - https://thinstall.com/help/index.php?isolationmode s.htm is what I would be looking for... but if you notice, this is NOT one of the 8 links google returns.
Also, http://groups.google.com/groups?q=DirectoryIsolati onMode returns NOTHING. Not only did I used to get results from groups for this search, but I have a hard time believing that no one in the history of Thinstall asked a relevent question on a news group about this variable. -
Google sucks
I have NO idea what Google has recently done, but their search now completely blows. They seemed to have trimmed their database, but FAR to aggressively. I have been noticing a lot of searches that should bring up thousands of pages, bring back maybe a couple, if any. Here is my most recent example (about a Thinstall variable):
http://www.google.com/search?q=DirectoryIsolationM ode - returns 8 hits. The most useful link off the search is https://thinstall.com/help/index.php?attributes_in i2.htm. In itself, this isn't very useful, but the link on the page - https://thinstall.com/help/index.php?isolationmode s.htm is what I would be looking for... but if you notice, this is NOT one of the 8 links google returns.
Also, http://groups.google.com/groups?q=DirectoryIsolati onMode returns NOTHING. Not only did I used to get results from groups for this search, but I have a hard time believing that no one in the history of Thinstall asked a relevent question on a news group about this variable. -
Re:Another approach.
Thinstall lets you do just that using virtualization:
http://www.thinstall.com/demos/office_vs/index.htm l -
Re:Security use?
That's what Thinstall (http://thinstall.com/) does: application virtualization.
-
Re:It's not really a Firefox alpha
If you want a version that has no installation and can run from USB flash, you can download:
http://thinstall.com/examples/firefox_3.0a1.exe (10MB)
To run from a USB key:
1. copy EXE to flash drive
2. In same directory as EXE create a directory called "Thinstall"
The flash version should load and save your settings/cache/history/etc on the flash drive instead of the host PC. -
Re:SDL & C/C++ on Linux may be a good start
The problem with using C# and DirectX is you're requiring the user to have the
.NET Framework and (I believe, not 100% sure) DirectX 9 installed.And if the user has dial-up, then expecting them to download a 20 MB+ pre-requisite will probably turn a significant percentage of your potential audience away.
Blah, while attempting to find some sort of estimate of how many PC's have the
.NET Framework installed (no dice), I stumbled upon a possible solution to the .NET Framework problem: .NET Framework Linking, which basically includes all of the required .NET libraries in the executable itself. That example seems expensive ($5000 to $10000??), but there might be a free way of doing it somewhere. -
Re:It's *still* a problem
Check out Thinstall. It allows you to run
.Net-based apps without having the .Net framework installed. Very cool. -
Re:65MB!? Sorry, that's not true....
The full 'whistles and bells'
.Net framework redist is around 23MB.
... and if you use an installer like Thinstall you can typically install your app + the required portions of .Net framework in just 4-7MB, not 23MB. -
They should have used Thinstall
Thinstall will install applications using the
.Net framework in typically 4-7M - that *includes* the framework. -
Doing this for software security / anti-hacking
A slightly different idea for using VMs to enhance security....
Over the last few years, I've been developing a "thin" virtual machine that runs in user-mode. The purpose of this is to allow software to be deployed in a pre-installed state, rather than having to install a bunch of file, make registry changes, etc - just distribute a single EXE that can run directly from CDROM or a download link.
Besides simplfying the installation process and prevent conflicts with other packages (DLL Hell, etc). This method of software distribution also helps protect intellectual property - for example if you use the Macromedia Flash ActiveX component - not only can your application create object instances without having to register it in the system registry - but the macromedia code automatically goes through the virtual machine to read compress/encrypted files included in the archive.
The virtual machine only takes up about 100k on disk and 500-1MB in RAM and runs on top of any version of Windows (no linux, sorry) without drivers or reboots.
Check it out:
http://thinstall.com/help
Jonathan Clark -
Re:Kinda makes you wonder...
DLLs are useful these days primarly for their ability to allow 3rd party developers to distribute libraries in a language independent form. For example, there are large numbers of VB and C++ programmers for Windows. But there is no easy way to create libraries that work for both languages, except for DLLs and COM. So you will find almost all 3rd party libraries are shipped out as DLLs these days (unless it's language specific).
I've been working on a system to permits the best of both worlds by do a late-link of the DLL in a language independent way.
Jonathan -
Re:Garbage collection
This is impossible unless there were a major change and all software developers conformed to it. But we are stuck with Windows 95 on steroids. Windows XP addresses the problem to a small extent by providing a "side-by-side" DLL loading system.
There is no way for the OS to know which DLLs an application might use - since DLLs are "Dynamically" loaded. The application may only load the DLL in rare cases, or maybe the application is run for the first time 1 year after it's installed.
To further complicate the problem, software vendors themselves cannot be 100% sure that no other application are going to use DLLs they installed - so to be safe they leave them behind on uninstall. So you are stuck with growing system32 directory. The only way to garbage collect is to refresh the entire machine.
I have been working on a virtual machine techology that allows applications to run in a semi-isolated environment (DLLs, files, and registry keys are not shared with the system). So they have zero impact on other applications and other application installs cannot cause them to fail. Also uninstall becomes a simple "del program.exe". -
Re:In other news....
I've been working on this problem. I created an application that creates a compressed virtual filesystem containing the EXE, DLLs, and datafiles that can be deployed in a "pre-installed" state. When the application runs, a virtual machine technology similar to WINE is used to allow the application to load DLLs directly from the archive rather than go to the operating system. Unlike VMWare/WINE, however, the virtual filesystem is transparently merged with the real filesystem so the application can access files from ether place with no source changes. Also 90% of Windows API calls do not need to be replaced so there a very few compatability problems. The next version will have support for a merged virtual registry as well, so you can deploy ActiveX/COM controls without having to register them or even write to the system registry at all.
Check it out:
http://thinstall.com -
Re:Who buys Obfuscated code?
Many
.NET developers out there are happy with the functionality of the current crop of obfuscators, and many use such programs to "encrypt" their commercial apps.
And many .NET Developers are not happy with obfuscation. Obfuscators cannot encrypt symbols that interface with the .NET Framework, and these are usually the most damning. A good programmer can trace through obfuscated symbol names with a debugger, adding a few comments here and there and a few minutes later beat most copy protection systems built into .NET code. When your program has to access registry entries, files, user input, etc. there is no way to hide this with an obfuscator.
There are further problems with obfuscation; your program losses large abilities with the reflection API, serialization may break, and encrypted crash stack-frames make it hard to glen useful info from a testing department.
I have a different protection system available:
http://thinstall.com/dotnet
which does not exhibit any of this short-commings. However this solution prevents the resulting EXE from running on Mono. -
Re:Errr
Yes, ildasm and there are 2 other commercial disassemblers that provide extremely readable source code. Really a huge problem with
.net and one of the reasons there are so many obfuscators available. But even with an obfuscator its easy to disassemble and reassemble .net assemblies - so changing things like registered serial number code makes most other cracks look like hard work. Basically .NET programs are "open source" weither they want to be or not.
I make a product that turns .NET byte code into a Windows EXE so it can't be disassembled any more. This precludes running the resulting program on Linux (except in Wine), but adds some other interesting features.
http://thinstall.com/dotnet -
Re:Cygwin
I also built a single-EXE version of cygwin that has many of the utilities that fits on a floppy. It doesn't require any installation, or rely on external DLLs, and always stays as a single EXE file (nothing extract to disk). So it's a nice little file to have sitting around.
http://thinstall.com/docs/index.php?sp=unix_tools. html
-
Re:Encryption and compression make a lot of sense.
Since a Zip has to be decompressed anyway
While until just recently, this was true - now you can create a "ZIP" file that doesn't decompress. The idea is instead of decompressing the files to disk, a tiny user-mode OS is inserted between the application that needs to use the data and the compressed data. The new OS does transparent decompression/decryption and to the application it appears the files reside on the hard drive. The OS provides streaming decompression so only small blocks are decompressed at a time and the memory requirements are very low. Yes, the data is present in memory in unencrypted form at some point so it is possible to hack - but it provides a pretty good level of data security.
The cool thing is that the archive size is usually the same size as a ZIP, but it runs directly with no install and no decompression time. Usually applications load 2x faster in this state.
This is something I've spent the last year working on. Checkout here