I have created a deskband for Windows XP after following the tutorial in codeproject. It works perfect. However, some of the users use Windows 7 and they found they cannot use the deskband I created.
Could anyone let me know how to fix the problem?
Update: After the Windows 7 users installed the deskband (msi file), they cannot see it in the windows toolbars (right click mouse on taskbar > toolbars > ). The deskband is visible in the toolbar in the IE in Windows 7 though (The BandObject creates deskband for windows toolbar and for IE toolbar) .
Thanks!
Since Shell extensions are COM objects you should be able to find the GUID used to identify the object in the registry on machines where it works or in your project/build files. Make sure it is getting registered correctly on the Windows 7 machines by searching the registry or using something like the OLE-COM Object Viewer.
Run you MSI file with verbose logging to find out if there are installation problems. The deskband needs to be registered correctly and this could fail silently depending on how it is being registered.
As I said in my comment above, writing extensions in managed (.NET) code has historically been a problem. Some people can get away with it though.
Related
I'm going to create an application (C#), which has its DeskBand on the Windows TaskBar. I've found one complete example program, which does this, but I didn't manage to successfully install (add to Toolbars menu on the taskbar) it. I think, it's because my Windows is x64, there are no other visible reasons...
So, my question is how to create and add a deskband to Windows 7 x64 taskbar?
According to Microsoft, Deskbands are not recommended for Windows 7, although they still work. Also keep in mind that Microsoft requires that Deskbands support Aero on Windows 7 via IDeskband2 Interface, rather than IDeskband. Also, Micorosft has officially said that IDeskBand2 may be altered or unavailable in subsequent versions of the operating system or product.
Finally, be very careful about creating shell extensions in managed code.
I've been using this certain application among previous windows versions (Windows XP-Vista-7-8-8.1) and it has worked perfectly without having any issues, after upgrading to Windows 10 though it started showing EAccessViolation error and spams the place with message boxes saying "Runtime error at XXXX" (memory address)
So what I've been trying to achieve is creating a program in C# which runs the application under all compatibility modes one by one, to check which one works and which one doesn't - and sadly, none of them did.
The application is not mine and has stopped development.
Do you guys have any idea what has changed in Windows 10 code-wise, and how am I able to fix this issue? Is there a way to fully emulate another windows version and run it for this application alone? (Without having to set up a Virtual PC or anything)
Thank you in advance.
Note: Microsoft said that Windows 10 is completely backwards compatible, which it doesn't seem like it? The application does not use any driver, it's just a standalone EXE coded in C++/Lua.
Note2: The EXE calls a DLL which might be outdated for Windows 10, any idea what to do about the DLL? Is there a way to make it work as it did in previous windows?
You can help prevent these kinds of errors from occurring by updating your device drivers after formatting and reinstalling your operating system or installing a Windows Updates. Always install the latest Windows Updates before going through and updating your device drivers.
Can anyone guide me, how can i create a metro app using Microsoft Visual Studio 2010.?
What are the templates needed to Create Metro Apps.
Updated :
If there are some third party libraries available, please let me know.
Metro development is purposed to be done in Windows 8 and Visual Studio 20212 environment. You can use Diskpart (Windows 7 command tool) together with Windows Automated Installation Kit to install a Windows 8 instance in parallel with your current system.
You need
1 ISO; http://www.microsoft.com/sv-se/download/details.aspx?id=5753
2 Automated Inst Kit: http://www.microsoft.com/sv-se/download/details.aspx?id=5753
3 About one-two hours (depends on your count on visual studio setup).
The result will be a file on your disk which is about 50-60GB. The bootloader will, after complete setup, give you both current Windows version and Windows 8 as option.
Perhaps you don't want to spend time on setup, so this may not be the answer you want to see. Which I fully understand. Though, there are several experience benefits using a complete Windows 8 environment. I can type a more detail on that, if requested.
Diskpart can be used like this,
create vdisk file=c:\VHD\Win8.vhd maximum=60000 type=expandable
select vdisk file=c:\VHD\Win8.vhd
attach vdisk
create partition primary
assign letter=v
After that, you can see the actual file which hold space for your virtual disk. In the source folder of the unpacked ISO file, you can find install.wim. That file will be used together with the next command based tool Automated Installation Toolkit.
imagex /info i:\sources\intall.wim
imagex /apply i:\sources\install.wim 1 v:\
Which will instantiate a silent installation from unpacked ISO to the boot disk.
Lastly the virtual boot file should be added as an optional bootup
C:\Windows\System32\bcdboot v:\Windows
From reboot and that you select Windows 8, the installation of Windows 8 will continue from the Metro design. Though after you type the product key. The best part of this, is that while in Windows 8, you still have full access to your current Windows drive.
Please note! This is a brief explanation of a process that make a Windows 8 installation without affect the current Windows, except take a lot of disk space.
You can't create Metro style apps directly in Visual Studio 2010 without using third party libraries e.g. DevComponents . Please do remember that it will be a winforms application which looks like metro style app.
For a real metro style app you have to use Visual Studio 2012 on Windows 8
Metro applications can only be developed on Visual Studio 2012.
I have an app that I wrote using C# .NET 4.0 in Visual Studio 2010 on my Windows 7 Ultimate machine. This app works fine on both Vista and other Windows 7 computers, but whenever someone running Windows XP tries to run it it crashes.
In order to reproduce this I've tried running it on my Win XP VMWare machine and it crashes for me in there. Unfortunately it doesn't give me any specific error, just informing me that the program has crashed and needs to close.
One other user sent me the following:
Run-time error '339'
Component 'vbalSGrid6.ocx' or one of its dependencies not correctly registered: a file is missing or invalid.
Code 0xe0434352
Flags 0x00000001
I don't get that particular bit when I try to run it on my Virtual XP machine, and I also made sure to install .NET 4.0 on there.
What could be causing this, and why won't the app run in XP if the .NET 4 framework is supported for XP?
Components used in the program: DataGridView, ComboBox, Buttons, Labels, LinkLabel, NewtonSoft's JSON parser, and that's about it.
I am baffled and have utterly no idea where to start. Ideas?
UPDATE: Hmm, tried running my other recently created application on XP and it loaded fine. The only major difference (in the components I used anyway) between the two is my use of NewtonSoft's JSON library, which I actually think is a .NET 3.5 component.
UPDATE 2: Just for kicks I tried running the program on my Wind7 machine in "Windows XP SP3" compatibility mode and it ran fine. Of course, I have no idea just how closely the "compatibility mode" emulates a true XP SP3 environment, but I figured I'd give ya'll the info anyway.
¡¡ IT WAS THE APPLICATION ICON !!
I kept noticing that the module it referenced in the error it gave me was system.drawing which I thought was odd. I figured perhaps the PictureBox I was using was causing the issue, so I tried disabling everything to do with that, to no avail.
I had my business partner set up his XP box so that we'd have another machine to test with aside from my VMWare XP box just in case there was some odd issue with it.
After he got it set up and the app copied over he said "The icons look like DOS ones" and I had a eureka moment.
I was using .PNG's as the icons because they support transparencies and whatnot, but XP doens't natively support them. So when the app was copied to the desktop it just used a generic icon for it, and when the application was run it crashed because XP doesn't know how to render a .PNG.
Try using the Fusion Log Viewer to debug startup errors in .NET applications.
Scott Hanselman has written a nice howto along with links to further resources if you need to go deeper.
Are we sure this is some wierd .NET compatibility issue or just a run of the mill bad installer/deployment problem?
Here's one user who has that error message because the OCX DLL was copied to System32 with a shortname. Renaming the DLL to the correct name and running RegSvr32 resolved his problem.
Do you have an installer? Have you correctly identified all of your managed and unmanaged dependencies and properly authored them into your installer?
http://forums.elmsoftware.com/forum_posts.asp?TID=119
I have a WinForms application with an embedded MapPoint control that I've been maintaining for about 5 years now.
The application originally used MapPoint 2004, then 2006, and now we're upgrading to 2010.
Within my development environment (VS2008/.NET 2.0 for the project) the application runs fine.
Once I create an installer and install the app and try to run that, I start encountering problems. First the application prompts the UAC in Windows 2007 64 bit, though I don't have any code that modifies the filesystem or other protected systems.
If I choose "Yes" to allow the program to run, as soon as I try to create a new instance of a map to use within my map control
this._activeMap = this._mapCtrl.NewMap(MapPoint.GeoMapRegion.geoMapNorthAmerica);
I get a messagebox from MapPoint with the following error:
Your registry settings were not copied correctly. To correct these settings, run setup again for this application.
I'm aware of the KB article (http://support.microsoft.com/kb/314590) regarding this error in Streets & Tips, but MapPoint 2010 runs fine on its own, and as I said, the app runs fine from within VS or when run from a non-protected folder (e.g. if I do an x-copy of the files to my user's directory, it runs fine).
We received the same MapPoint error (along with others) on our install. We use NSIS for our install packages; once we ran it with elevated permissions the errors disappeared. I wish I could give you more details but I was not me who coded our installer. I was simply told how we got passed the MapPoint issue. I hope it at least points you in the right direction and helps you narrow your research.
Yes elevated install permissions are typically required anyway. My experience is more for MapPoint add-ins rather than apps that use the ActiveX control. There, I use the Visual Studio installed and Add-in Express, which has special settings for UAC handling. I don't think they have anything for using Office/MapPoint ActiveX controls, but it might be worth looking.