Link to home
Create AccountLog in
Avatar of AptDev
AptDev

asked on

Manually Deploy a VB.NET Win App

I have created a windows application that I would like to deploy to my users.  I placed the exe on a server that everyone can get to, and I ran it from my machine, and it worked perfectly.  When I ran it from another user's machine, it threw an error saying:

"The application failed to initialize properly (0xc0000135). Click OK to terminate the application."

I would like to leave the exe file on the server instead of "installing" it on each end user's machine --  I would like to manually configure the end user's machine to run it from the server.  I will also have some users running it from Citrix terminal server sessions, and I would prefer not to have to "install" it on my terminal servers, but I am happy to "configure" them to run it.

So I installed windows XP professional on a fresh machine, with no additional software installed.  And I created a fresh application with no code (I simply opened a new win app project in Visual Studio and ran a "build" on it without adding any components) and dumped the exe out on a server.  Then I tried to run the fresh application on the fresh server, and of course I got the same error I have been getting all along.

I assume that windows XP Professional comes with the Dot .Net Framework.  So obviously there is something else I need to do to make things run.

Is there anyone out there who knows enough about this that you could direct me to the instructions for manually configuring a new machine to run a .NET windows application from a server location?
ASKER CERTIFIED SOLUTION
Avatar of Éric Moreau
Éric Moreau
Flag of Canada image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
Avatar of AptDev
AptDev

ASKER

Well... You were certainly right for not assuming... After looking for the .NET Framework Wizard, not finding it, and doing an update.microsoft.com update to install the Framework, the raw app ran just fine.  My real app, however, came up with an error very much like the first one.

So I ran the .NET Framework Configuration utility (which I have no experience with but it is intuitive enough) and I added both my raw app, and my real app, and the utility is cool enough that it shows me all of the "dependencies" for each app.  Since the raw app runs fine, I can assume that all of it's dependencies (a list of about 16 dll's, like mscorlib, and system) were probably installed as part of the .NET framework (since that's when it started working.)  My other app, however, has 5 additional dependencies.  As I look at them, it makes sense to me that the wouldn't be part of the framework since the purpose of my application is to sort data out of excel and put it into Oracle -- the extra dependencies are Oracle.DataAccess, Interop.VBIDE, Interop.Microsoft.Office.Core, stdole, and Interop Excel.

I'm going to try copying those dll's to my end user's machine, and registering them.  I'm not sure if I'll have to specifically give that application rights to access those dll's, but I'll get started and see what happens.
all interop* files need to be in the same folder as your application.

because your app needs Office, Office must be installed on each PC.

I'm not sure about Oracle drivers.
my recommandation : points to emoreau
Avatar of AptDev

ASKER

I've had to put this project on the back burner.   I am very grateful to emoreu for helping me get pretty far down the path.