Deploying Datasnap Service - windows

Using C++ Builder under Rad Studio XE I have created a simple Datasnap server service from scratch. I wanted to test the service installation process before adding any functionality, and found that while it will install successfully on a range of Windows machines, I haven't been able to get it to Start under a clean installation of Windows 7 x64.
The error message trying to start the service is: Windows could not start the service on Local Computer. Error 2: The system cannot find the specified file.
I have turned off both dynamic linking and run-time libraries. It starts fine under Windows XP and 2003 operating systems, just not this single Win7 machine that I have. I have opened the firewall for the specified ports, and confirmed no other app is using them as well. The service was installed under Administrator, and logs on as Local System account.
Is there a problem with a C++ Builder compiled service under Windows 7, or maybe 64 bit? Hopefully someone can point me in the right direction so I don't have to bang my head against the wall too many more time.
Thanks!

Since C++ Builder creates 32bit applications only, make sure you install the service in the c:\Windows\SysWOW64 folder on 64bit Win7 systems. Windows 7 x64 expects to find only 64bit files/services in the system32 folder.

Related

Remote Debugging code running on a Windows XP machine without Visual Studio installed

I want to remote debug an executable that is running on a Windows XP machine. This machine does not have Visual Studio installed. I am running Visual Studio .NET from another machine on the network. (I'm easily able to remotely debug other XP machines which have Visual Studio .NET installed).
I located the remote debugging tool (msvsmon.exe in this case) copied the folder to a local directory on the machine I wish to debug and ran it. The cmd window indicated that I was running "Visual C++ Remote Debug Monitor (x86) Version 7.00.96"
I attempt to select the machine from VS in order to attach to the process and I received an error:
Unable to connect to the machine . The debugger is not
properly installed. Run setup to install or repair the debugger.
As I'm not able to find debugging tools online that are old enough, I'm not sure how to proceed.
While there is still time, you should get a copy of VS2010 Service Patch 2, and install it, the version of msvsmon.exe in VS2010 is the LAST release which supports XP remote debugging. In my work we develop for XP Embedded, and have a large installed base used in manufacturing globally. Our customers would scream bloody murder if we changed the runtime which would break/damage/shutdown manufacturing. So we are now forced to migrate to VS2019 and yet we build for XP clients. Our new products do run newer Windows Embedded versions, but the legacy products are still in demand, and are XP embedded based. There is no remote debug capability to my knowledge with VS2019, and our firm is not allowed to distribute VS2010 to our clients so they can single step debug. Very frustrating.

Issue installing SQL Server 2008 Express as a dependency via ClickOnce

I'm currently working on a project which has a Winforms component that is installed via ClickOnce. The original target OS was Vista and above and it continues to work fine for those platforms.
However, the customer has now requested that the application be tested against Windows XP (yes - I know it's about to have support dropped but what can I say).
When I run the installer against a fresh XP virtual machine ClickOnce duly installs the prequisites (Windows Installer 4.5 and SQL Server 2008 [with configured instance]) before installing the application itself.
Running the application appears to work as expected but when attempting to sync the local database with the remote one an exception is thrown.
"Could not load file or assembly 'Microsoft.SqlServer.Replication,
Version 10.0.0.0' or one of its dependencies"
Now, if I start again from a clean XP VM and Manually install Windows Installer and SQL Server Express 2008 before starting the ClickOnce package to install the main application the resulting installation works fine and without error!
I have tried numerous things including creating a ConfigurationFile.ini and using that for both manual and ClickOnce installations but the result is the same - the one with the manually installation of SQL Server will run without error but the ClickOnce installation will not.
I've pretty much run out of ideas now so hoping that someone can point me in the right direction.
Thanks in advance

vb 6.0 program on windows 7

I have been trying to install and run a program written in vb 6.0 on windows 7. It was working fine installing and running in windows xp. The error message after installing and running it say that
Run-time error 339" : Component voice.ocx or one of its dependencies not correctly registered: a file is missing or invalid.
This program has voice recording things.
I manually register that ocx component but still error that shown like
The module "voice.ocx" failed to load.
And I try to install VB run-time and still shows the same error. I believe that Windows 7 support vb 6.0 programs.
One thing here I am not sure of is that the ocx component I have is whether 16 or 32 bit version. I don't think we cannot register 16 bit version ocx in windows 7.
And I also try to install and run in compatibility mode or even as administrator. I think it is a platform related issue? And it might be some other work-around. So, I appreciate your hints or clues on this program runnable in windows 7.
Thanks in advance.
Regards,
SEE
Just encase anyone else sees this.. here is what I did
I knew the program was running on Windows XP, with visual basic installed. I had only been given the exe and the MDB. So I created a virtual machine (stick with me) of Windows XP, installed visual basic and test the app. It was fine. Then I downloaded a dependency tool called Dependency Walker from http://www.dependencywalker.com/. I installed this in the virtual machine and asked it to open my exe.
Once this was loaded I ignored the warnings and asked it to start profiling. I ran the app, stepped through everything I could see, then exited the application. This left me with a log of the DLLs that had been accessed. Slowly I went through these checking if they existed on my windows 7 setup, when one was missing I copied it to my application directory and then from an elevated command prompt run "regsrv32 [missing_name.dll]" until there were no files which my windows 7 desktop didn't have.
the application then worked fine! This may not work all the time, because of the way third party OCX's or DLLs have been written. But it may help someone out.
Few of old Win32 components are not supported in Windows 7. There are possibilities of failure of a VB Program in Windows 7.
But there are some possible ways to fix those.
Check the following links to avail the same.
http://www.personalcomputerfixes.com/general-errors/how-to-successfully-fix-the-339-runtime-error/
http://social.msdn.microsoft.com/Forums/en-US/vbpowerpacks/thread/8cb5ab97-8407-4e49-8db6-30dcef87cbd1/
http://yang.articlesbase.com/operating-systems-articles/simple-solutions-on-how-to-fix-runtime-error-339-1830111.html
I have developed several programs with VB5 on a WinXP32 machines and then installed them on Windows 7 (32 and 64) PCs without problems.
This applications use different OCXs (16 and 32 bit version) and till now I never get problem with them. Thus I do not think that the VB5 or Vb6 could have any issue on Windows 7 machines.
On the other hand I would point out the module "voice.ocx" and investigate if it can run on a windows 7 pc, because as Katturaja sais some old ocx have problem on win7. To do that, I would create a simply VB6 project that uses voice.ocx (just an Hallo-World"), then create the installation pack and finally try to install on a clean win7 machine (for example a virtual machine). In this way you could isolate the problem.
I hope this could help you.

Has anyone had success with Visual Studio 6 on Windows 7?

VS6 popped off a series of errors before bombing out completely during install on Windows 7. I specifically need to get VB6 functioning on Windows 7. Anyone having any luck?
Folks on the VB6 newsgroup report they have managed to get it working on Windows 7.
There's this step-by-step guide on how to install the IDE on Windows 7 (including 64 bit).
If that doesn't work (scrapes barrel) try this old tip about persuading the install not to install the Java VM? Link is now broken so here is the tip:
Before trying to install VB6. Create a new file, name it msjava.dll and place it in your windows directory. The file can be zero length. You can then happily install without the prompt to install an old version of Microsoft's flavour of Java. Once you have installed VB6, delete the msjava.dll otherwise windows update will prompt you to update it.
Or (scrapes hole in barrel) these tips from an article about getting the IDE working on Vista?
Footnote: if developing with ADO, be aware of this.
The only way I've found that works is Windows XP mode (i.e. a virtual machine). Works fine there, but otherwise, not at all.
I found ALL the answers in a thread at vbmonster.com. As mentioned above, you CAN install Visual Studio 6 with Service Pack 6 under Windows 7 by following Derek's detailed instructions at fortypoundhead.com.
I had a problem because I needed to install Service Pack 5. I use a third party program that does not work with Service Pack 6. A really smart programmer (GuideX) came up with a great hack to get around the MDAC 2.5 error.
Win 7 64 bit service pack 5 & 6. Turn compatability off and it seems to work.
Recently I had to debug an ancient application written in Visual C++ 6.0 on Windows 8.1. Tried different solutions all of them failed, only this one worked.
This guys made a special installer that allows installing VC++6, VB6, and SP6 on Windows Vista/7/8/8.1/10 without any errors whatsoever.
Hope it would be helpful to someone.
I installed VB6 on Windows 7 Pro without having to use compatibility settings or run as administrator.
Doesn't really help you, but does show that it can work.
Several people in my office have installed Visual Studio 6 (without VC++) on Windows 7, both 32-bit and 64-bit with no problems. The one thing we have in common: we've all turned UAC down to it's lowest setting. Nothing else special required.
I am using vb6 on windows 7 32 bit system for a long time.
you will need to install your vb6 with compatibility of xp2.
Create a 0-byte file in the C:\Windows directory called msjava.dll.
Don't just install via the Autorun executable; instead browse the Visual Studio 6 CD (or folder), right-click Setup.exe and select Run As Administrator.
On any Program Compatibility Assistant warnings, click Run Program.
Step through the setup screens until you're able to choose Custom Setup, then click next.
On the setup options, install the following items and nothing else:
Microsoft Visual Basic 6.0
ActiveX
Data Access
Graphics
Click continue and the process will start, and (hopefully) eventually complete.
Skip the installations of the MSDN CD, BackOffice, VSS and SNA Server, and clear the checkbox for "Register Now". Setup should be complete.
Download the VB6 Service Pack 6 from http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=A8494EDB-2E89-4676-A16A-5C5477CB9713&displaylang=en and install.
Change the compatibility settings for Visual Basic (to get it to run a little more smoothly under Windows 7) by browsing to C:\Program Files\Microsoft Visual Studio\VB98, right-clicking the VB6.exe file, and selecting properties.
On the Compatibility tab, check the following:
Run this program in compatibility mode for Windows XP (Service Pack 3)
Disable Visual Themes
Disable Desktop Composition
Disable display scaling on high DPI settings
When you start up the IDE, you may get a notification saying that the color scheme has been changed to Windows 7 Basic, but it will be changed back to Aero once you exit. Everything should be working fine at this point!
Note: when you first run your new install vb6 run it with admin rights and with xp2 compatibility so that your exe can run on any system.
The word "supported" is used loosely in this thread, potentially leading the unwary reader to the conclusion that Microsoft supports the VB6 IDE (that is, the integrated development environment) on operating systems beyond Windows XP. This fact clearly is stated in the table that appears on the page at this link:
https://blogs.msdn.microsoft.com/nikosan/2012/04/20/support-statement-for-visual-basic-6-0-on-windows-8-updated/
Note that executables developed using VB6 are in fact compatible with Windows OS's from Windows XP through Windows 10--32/64-bit versions:
https://blogs.windows.com/buildingapps/2015/06/22/getting-ready-for-windows-10-sdks-compatibility-bridges/
Anyone using non-standard methods to coax the IDE into working on OS's that Microsoft does not support is exposing themselves/their organizations/their employers to risk and is not suitable for risk-averse organizations.
Having said that, I think the purest solution is to install Windows XP onto a virtual machine and run that VM in a modern host OS, such as Windows 10. That works just fine, and you can install directly from the VB6 Setup disc without making any pre-install/post-install customizations.
I had a Vista x64 box with a working copy of the VB6 IDE (which was supported). I upgraded the OS to Windows 7 x64 and the VB6 IDE still works fine. You could try that. I know, a huge PITA and kludgy but still, it worked for me.
I run Windows 7 Ultimate 32-bit, installed Windows Virtual PC - XP Mode, and that solved my problem isince I can run MSDEV 6.0 in the XP Window.
Not esay to install XP Mode though, the MS site is buggy.
The VB6 programming language is supported on the Windows 10 Technical Preview.
Visual Vasic 6 applications run and the VB6 IDE installs and works too.
I have the VB6 IDE running OK on Win-XP-16, Win-7-32, Win-7-64, Win-8.1-32, Win-8.1-64, win-10-32 and win-10-64 by using the instructions above which basically say, turn off UAC, run the installer AS ADMIN, and then set the VB6.exe file to run in XP-SP3 Compatibility mode.
I have had some issues with it and have had to do a bit more googling to solve these but I don't remember any more what those issues or solutions were.
I've even got the VB3 IDE running on the 32-bit versions of XP, Win-7, Win 8.1 and Win-10 - without even installing them - just copied the C:\VB folder from another computer and copied the *.LIC license files and *.VBX etc files as well.
I have successfully installed vb6 on win 7 32 bit by installing xp first then installing new win 7, (not upgrade), and do not format. then it will install vb6 without a problem
It's depending on your build version of Windows 7.
If your Win7's version is lower or is not updated, it has MANY PROBLEMS with compatibility.
But mine is newer Win7 version and has NO COMPATIBILITY TROUBLE.
I am currently using VB6 , VS6 and they still work fine!
If Properties->Compatibility->Windows XP doesn't help, fix it with UPDATING your Win7.

Debug XP application on Vista computer

I am building an MFC application for both XP and Vista. I have Visual Studio 2008 installed on the XP machine but I need to debug the application on Vista. How can I do that? Do I really have to install Visual Studio on a Vista machine?
When using remote debugging I assume that all executable and library files must be in my Vista virtual machine. But I can seem to copy the MFC debug DLLs to the Vista VM, and as a result I keep getting side-by-side configuration errors.
I would prefer to remote debug the application without having to copy any files, how can I do that? And if I can't, how can I install the MFC DLLs without having to install Visual Studio on the Vista machine?
Note: I have Vista installed on a virtual machine using Virtual PC. I just don't know how to run the debug version of my application there.
You can install VirtualPC (or other virtualization software) and install Vista as virtual system, so you don't need two computers. For this part of the debugging, it probably better that you explicitly do not install visual studio to make sure there's not some hidden dependency in your program that visual studio provides. At this point you want to be testing the fully-deployed version of the app.
The biggest rule I've found so far for developing for vista is making sure that you never write anything to the same folder where the program is installed. Write to the Application Data folder instead. This was a rule for XP, too, but it's much more strictly enforced in vista.
If you have Visual Studio Pro or Team, you can give remote debugging a shot. There's just a tiny stub that gets installed on the remote computer.
If you want to run a debug build of your application, you will need to install the debug runtime files on the virtual PC as well.

Resources