On Windows 7 there's three build-in things that might prohibit your app from 
running (that I know about):

Windows 7 expects application to be certified, and depending on domain and 
security settings, might disallow an app from running if it isn't (note that 
_all_ 64 bit apps need to be certified, but rev is 32 bit). If that happens, 
there might be a dialog saying that the administrator has denied running the 
app, or disallowed the installation to run (in case of a .msi).

The UAC might interfere. UAC limits the things an application can do, including 
writing to non-user folders (application folders, c:, etc.), accessing or 
changing the registry, network or serial port access and certain hardware 
interfaces (like cd drives). Not all UAC settings result in all these things to 
be blocked, but any number of them _might_ be disallowed. Sometimes the screen 
goes dark and a dialog comes up to ask the user about giving administration 
privileges to the app. Again some settings might lead to a silent blocking of 
your app.

Finally, there's possibly a problem with legacy support. Since windows XP, 
every windows iteration has removed more legacy support, and instead relegated 
those to settings that have to be set by the user. This is to dissuade new apps 
from using legacy API's. If this is the problem, a silent fail is _always_ 
happening.


There are several third party applications that can and will make your app not 
work:

- Antivirus applications will block shell and VB access.
- Firewalls will block applications that use the system sockets
- Anti-copy protection can block various things, and are often included 
silently with games and specialised small market apps (like medical apps or CAD 
software).
- Malicious software like trojans, worms and viruses often block apps that look 
like antivirus installers



So what can one do to test what actually is the problem?

If your rev app does a lot of things on startup or (pre)openstack/card/etc, 
then you might want to try running a blank stack application, or a test with 
those handlers only being called on button presses (to see which doesn't run). 
That way you get an idea wether it's a specific thing within your app makes it 
fail.

Make sure that your app does not try to write or change files on the disk when 
it starts. Since Vista, Windows is very picky about where you're allowed to 
write files, and trying to write anywhere besides the user folders can result 
in some strange things. Problems include the file not being written (silent 
fail), your app crashing, or the file being written but not readable (because 
it's "virtualised" and actually somewhere else in the filesystem).

Try to run your app as administrator: right click the app, choose 
"information", and select the "run as administrator" checkmark there. (a little 
shield will be shown on the icon of the app now). An UAC dialog should come up 
when you start the app (say yes or it won't run).

Try if your app needs legacy mode: In the same place where you set an app to 
run in administration mode, you can select various legacy settings (about 20). 
You need to choose one, then try to start the app. I suggest to test at least 
win95, win98, win2000 and XPsp2.

Disable internet, then disable all third party firewall, antispyware and 
antivirus software. If your app runs now, you might need to add it to a 
whitelist in one of your security softwares.

If you do not have antivirus software, install one and make a complete system 
check (might take hours).


I'm sure there's more to check, but these are the windows specific gotchas that 
I know about. 

Why do I know them? Because I like old games, and getting win95 games to run on 
win7-64bit tells you a lot about how Microsoft exchanged backwards 
compatibility with security. Even older games do not run in legacy mode, so 
it's DOS-Box for those (not applicable to Rev).

Funny side note: because the 32 bit app-folder has "(32-bit)" appended to it's 
name, legacy apps with hard coded paths only work when moved to the 64 bit app 
folder, because that one has the same name as on older versions. Obviously 64 
bit comments do not apply to 32 bit versions of windows.

have fun
Björnke

-- 

official ChatRev page:
http://bjoernke.com?target=chatrev

Chat with other RunRev developers:
go stack URL "http://bjoernke.com/chatrev/chatrev1.3b3.rev";

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to