VB.NET app compiled in Vista does not work on XP

  • Thread starter Thread starter pmw
  • Start date Start date
P

pmw

Hi

I've got a problem with my current application. I currently use
Windows Vista with Visual Studio Express 2008. If I compile the
application on Vista, it works fine on Vista, but it doesn't work on
XP. If I compile it on XP (with the same source code [copied from
vista]), it runs without any problems.

The thing is: I only have a virtual machine to test my software on XP,
but I can't develop on it.


The error shows up, when I try to declare a public OleDb object. Here
the source:

Public DatabaseConnection As New OleDb.OleDbConnection

This error only happens, when I try to fill up the ConnectionString of
this OleDb Object.


The error message itself is not really helpful, so I won't post it
right now.


My Question is: Where is the problem, is there someone which had
similar problem with Vista and XP apps?


Thank you for your help.
 
Hi

I've got a problem with my current application. I currently use
Windows Vista with Visual Studio Express 2008. If I compile the
application on Vista, it works fine on Vista, but it doesn't work on
XP. If I compile it on XP (with the same source code [copied from
vista]), it runs without any problems.

The thing is: I only have a virtual machine to test my software on XP,
but I can't develop on it.

The error shows up, when I try to declare a public OleDb object. Here
the source:

Public DatabaseConnection As New OleDb.OleDbConnection

This error only happens, when I try to fill up the ConnectionString of
this OleDb Object.

The error message itself is not really helpful, so I won't post it
right now.

My Question is: Where is the problem, is there someone which had
similar problem with Vista and XP apps?

Thank you for your help.

What's the error?
 
I've got a problem with my current application. I currently use
Windows Vista with Visual Studio Express 2008. If I compile the
application on Vista, it works fine on Vista, but it doesn't work on
XP. If I compile it on XP (with the same source code [copied from
vista]), it runs without any problems.
The thing is: I only have a virtual machine to test my software on XP,
but I can't develop on it.
The error shows up, when I try to declare a public OleDb object. Here
the source:
Public DatabaseConnection As New OleDb.OleDbConnection
This error only happens, when I try to fill up the ConnectionString of
this OleDb Object.
The error message itself is not really helpful, so I won't post it
right now.
My Question is: Where is the problem, is there someone which had
similar problem with Vista and XP apps?
Thank you for your help.

What's the error?- Zitierten Text ausblenden -

- Zitierten Text anzeigen -

Error Number 5 - The type initializer for
Project.ModuleGlobalVariables threw an exception

and the ex.InnerException.Message says: "Exception has been thrown by
the target of an invocation"
 
Hi
I've got a problem with my current application. I currently use
Windows Vista with Visual Studio Express 2008. If I compile the
application on Vista, it works fine on Vista, but it doesn't work on
XP. If I compile it on XP (with the same source code [copied from
vista]), it runs without any problems.
The thing is: I only have a virtual machine to test my software on XP,
but I can't develop on it.
The error shows up, when I try to declare a public OleDb object. Here
the source:
Public DatabaseConnection As New OleDb.OleDbConnection
This error only happens, when I try to fill up the ConnectionString of
this OleDb Object.
The error message itself is not really helpful, so I won't post it
right now.
My Question is: Where is the problem, is there someone which had
similar problem with Vista and XP apps?
Thank you for your help.
What's the error?- Zitierten Text ausblenden -
- Zitierten Text anzeigen -

Error Number 5 - The type initializer for
Project.ModuleGlobalVariables threw an exception

and the ex.InnerException.Message says: "Exception has been thrown by
the target of an invocation"- Hide quoted text -

- Show quoted text -

Sorry, without seeing full code (if it's not too long), i can't make
out the reason beyond guessing the following:

1)Make sure you are using proper connection string syntax. Look at
http://www.connectionstrings.com for more info.

2)Try to put your code inside a Try-Catch block and catch the actual
error if it provides additional clue.
Like:

Try
'...All the code including connection string
' and stuff related to OleDb object
Catch ex As Exception
Msgbox(ex.Message.ToString)
End Try

3)Try to initialize your disposable OleDb class within Using-End Using
to ensure there's no pending open connections.

All from me.

Hope this helps,

Onur Güzel
 
Lets see if I got this right

compile on XP, run on XP is OK
compile on XP, run on Vista is OK
compile on Vista, run on Vista is OK
but, compile on Vista, run on XP is NOT OK

- Larry
 
Sorry, without seeing full code (if it's not too long), i can't make
out the reason beyond guessing the following:
Sorry, I would love to give you the source code, but I can't. Not
because it's big, I just can't hand you over that code.
1)Make sure you are using proper connection string syntax. Look at http://www.connectionstrings.com for more info.
That one has to be allright, because on Vista it works with the same
one. I also checked it by creating an *.udl file on the XP machine to
create the string.
2)Try to put your code inside a Try-Catch block and catch the actual r
error if it provides additional clue. [...]
Already did that. There isn't really a good error message for that ...
makes it even harder to understand the problem.
3)Try to initialize your disposable OleDb class within Using-End Using
to ensure there's no pending open connections.
Problem 1: I can't use "Using-End Using" with "OleDB.OleDbConnection".
Problem 2: I'm using the object all over the application, so it has to
be a public one, declared in a module. (like I'm doing it right now).

Thank you anyway for your help! I really appreciate that.
 
out the reason beyond guessing the following:

Sorry, I would love to give you the source code, but I can't. Not
because it's big, I just can't hand you over that code.
1)Make sure you are using proper connection string syntax. Look athttp://www.connectionstrings.comfor more info.

That one has to be allright, because on Vista it works with the same
one. I also checked it by creating an *.udl file on the XP machine to
create the string.
2)Try to put your code inside a Try-Catch block and catch the actual r
error if it provides additional clue. [...]

Already did that. There isn't really a good error message for that ...
makes it even harder to understand the problem.
3)Try to initialize your disposable OleDb class within Using-End Using
to ensure there's no pending open connections.

Problem 1: I can't use "Using-End Using" with "OleDB.OleDbConnection".
Problem 2: I'm using the object all over the application, so it has to
be a public one, declared in a module. (like I'm doing it right now).

Thank you anyway for your help! I really appreciate that.

So you want help solving this problem but can't show us the code
that's causing it. Call me an old cynic, but that sounds like I've
got this homework please do it for me.
 
Sorry, I would love to give you the source code, but I can't. Not
because it's big, I just can't hand you over that code.
That one has to be allright, because on Vista it works with the same
one. I also checked it by creating an *.udl file on the XP machine to
create the string.
2)Try to put your code inside a Try-Catch block and catch the actual r
error if it provides additional clue. [...]
Already did that. There isn't really a good error message for that ...
makes it even harder to understand the problem.
Problem 1: I can't use "Using-End Using" with "OleDB.OleDbConnection".
Problem 2: I'm using the object all over the application, so it has to
be a public one, declared in a module. (like I'm doing it right now).
Thank you anyway for your help! I really appreciate that.

So you want help solving this problem but can't show us the code
that's causing it.  Call me an old cynic, but that sounds like I've
got this homework please do it for me.- Zitierten Text ausblenden -

- Zitierten Text anzeigen -
Err ... yeah sure ...

So you want to know why I can't show you the code? First it is a
commercial product, so I can't just show you some source codes without
permission. Second, I'm working in a workplace where I have to go
through 4 security doors. So now you can imagine, that I'm not just
working at a standard workplace. Two good reasons, why I can't show
you the sources.
 
pmw said:
I've got a problem with my current application. I currently use
Windows Vista with Visual Studio Express 2008. If I compile the
application on Vista, it works fine on Vista, but it doesn't work on
XP. If I compile it on XP (with the same source code [copied from
vista]), it runs without any problems.

Is there any way you can compare the IL code generated from the Vista
and XP compiled code?

- Larry
 
pmw said:
I've got a problem with my current application. I currently use
Windows Vista with Visual Studio Express 2008. If I compile the
application on Vista, it works fine on Vista, but it doesn't work on
XP. If I compile it on XP (with the same source code [copied from
vista]), it runs without any problems.

Is there any way you can compare the IL code generated from the Vista
and XP compiled code?

  - Larry

There would be a way, if you can tell me how I can do that. Because I
don't know what you mean by "comparing IL code". It would be very nice
if you could help me.
 
PmW,

Perhaps you could re-create the problem with a simple piece of code that did
not involve company secrets. You could then post that code.

A question: what techniques are you using to protect this commercial code
from being "de-compiled", since this is trivially easy to do with any code
written in .net or java?

Kerry Moorman
 
pmw said:
pmw said:
I've got a problem with my current application. I currently use
Windows Vista with Visual Studio Express 2008. If I compile the
application on Vista, it works fine on Vista, but it doesn't work on
XP. If I compile it on XP (with the same source code [copied from
vista]), it runs without any problems.

Is there any way you can compare the IL code generated from the Vista
and XP compiled code?
There would be a way, if you can tell me how I can do that. Because I
don't know what you mean by "comparing IL code". It would be very nice
if you could help me.

start by reading the instructions in
http://windowsclient.net/blogs/faqs...-do-i-disassemble-a-net-assembly-into-il.aspx

the full usage spec for ildasm.exe is at
http://msdn.microsoft.com/en-us/library/f7dy01k1(VS.80).aspx

- Larry
 
PmW,

Perhaps you could re-create the problem with a simple piece of code that did
not involve company secrets. You could then post that code.

A question: what techniques are you using to protect this commercial code
from being  "de-compiled", since this is trivially easy to do with any code
written in .net or java?

Kerry Moorman
- Zitierten Text anzeigen -

Thats a good idea. I will try to recreate a similar project, which
uses the same objects.

This application is not for normal clients. It will only be used by
companies and people which do work in the same business. So they don't
even have interessts in getting the source code by decompiling it.
They can have it if they ask me.
 
start by reading the instructions inhttp://windowsclient.net/blogs/faqs/archive/2006/05/26/how-do-i-disas...

the full usage spec for ildasm.exe is athttp://msdn.microsoft.com/en-us/library/f7dy01k1(VS.80).aspx

  - Larry- Zitierten Text ausblenden -

- Zitierten Text anzeigen -
Thank you very much, I will try this tomorrow and give you a feedback.
 
PmW,

Perhaps you could re-create the problem with a simple piece of code that did
not involve company secrets. You could then post that code.

A question: what techniques are you using to protect this commercial code
from being  "de-compiled", since this is trivially easy to do with any code
written in .net or java?

Kerry Moorman
- Zitierten Text anzeigen -

Thats a good idea. I will try to recreate a similar project, which
uses the same objects.

This application is not for normal clients. It will only be used by
companies and people which do work in the same business. So they
don't
even have interessts in getting the source code by decompiling it.
They can have it if they ask me.
 
Thats a good idea. I will try to recreate a similar project, which
uses the same objects.

This application is not for normal clients. It will only be used by
companies and people which do work in the same business. So they
don't
even have interessts in getting the source code by decompiling it.
They can have it if they ask me.

Pmw,
You can also consider re-building project and and starting a new
project from the scratch and create all the source code files manually
(files that are in solution explorer) by right clicking solution
explorer -> add -> new item, then copy-paste the required codes from
your previous (problematic one) project into the new one.

Plus, if you're using settings file (My.Settings) you can re-create it
for the possibility of corruption.

Worth to try.

HTH,

Onur Güzel
 
pmw said:
pmw wrote:
I've got a problem with my current application. I currently use
Windows Vista with Visual Studio Express 2008. If I compile the
application on Vista, it works fine on Vista, but it doesn't work on
XP. If I compile it on XP (with the same source code [copied from
vista]), it runs without any problems.
Is there any way you can compare the IL code generated from the Vista
and XP compiled code?
There would be a way, if you can tell me how I can do that. Because I
don't know what you mean by "comparing IL code". It would be very nice
if you could help me.

start by reading the instructions inhttp://windowsclient.net/blogs/faqs/archive/2006/05/26/how-do-i-disas...

the full usage spec for ildasm.exe is athttp://msdn.microsoft.com/en-us/library/f7dy01k1(VS.80).aspx

  - Larry- Zitierten Text ausblenden -

- Zitierten Text anzeigen -

Now I had the time to create these IL code files (thanks again, Larry)
and compared them. The only difference in these two files are some
rows which have a different order (only happens in the rows where the
application handles the events), and some small value changes. But 95%
of the code is the same. Did not find any big holes where some code is
missing.

I will now try to recreate this problem with a prototype-project (like
Kerry Moorman told me). If the source works there, I will copy the
source code to a new project file (hint from kimiraikkonen).

I will report back if something has happened.
 
Pmw,
You can also consider re-building project and and starting a new
project from the scratch and create all the source code files manually
(files that are in solution explorer) by right clicking solution
explorer -> add -> new item, then copy-paste the required codes from
your previous (problematic one) project into the new one.

Plus, if you're using settings file (My.Settings) you can re-create it
for the possibility of corruption.

Worth to try.

HTH,

Onur Güzel- Zitierten Text ausblenden -

- Zitierten Text anzeigen -

I just now tested the OleDB object with a different, prototype
project. I don't have any problems there. It might be that the current
project is damaged. I will now try to copy the sources to a new
project. I hope it's going to help.

I will report back.
 
Hi

I've got a problem with my current application. I currently use
Windows Vista with Visual Studio Express 2008. If I compile the
application on Vista, it works fine on Vista, but it doesn't work on
XP. If I compile it on XP (with the same source code [copied from
vista]), it runs without any problems.

The thing is: I only have a virtual machine to test my software on XP,
but I can't develop on it.

The error shows up, when I try to declare a public OleDb object. Here
the source:

Public DatabaseConnection As New OleDb.OleDbConnection

This error only happens, when I try to fill up the ConnectionString of
this OleDb Object.

The error message itself is not really helpful, so I won't post it
right now.

My Question is: Where is the problem, is there someone which had
similar problem with Vista and XP apps?

Thank you for your help.

Problem solved! It really was a damaged project file. Copied now all
the sources to a complete new project, and now it works ... don't ask
me why.

Thank you all very much for your help!
 
Back
Top