I am very new to vb 2008 and have create a simple window forms application which link to microsoft access 2007 database.

I build the application exe file already. The exe file is run well on my computer, but when i transfer it by copy and paste the whole folder to another computer it cannot run. I am wondering why this happen? the error is as below :

"selected collating sequence not supported by the operating system".

Can the exe run without installing vb?

Hopefully can get help here...Thanks a lot.

Recommended Answers

All 18 Replies

Hello Kenny,
Thanks for your reply. I had try this before, but the problem is still same. I don't really know what's going on with my application...

the application only run well on another computer which VB is installed.

If you Release-compiled your program, then there is no need to install "vb".
You do, however, need to install the .NET Framework version for which your program is developed with.

Other then that, just make sure that your Access database is in the same folder as your exe.

it sure wont work. the .exe file is more like a compiled copy of your program and definitely when it runs, its gonna search for your MS Access database, when it does not find it, it gives you the error

Try installing Ms access database and .net framework on the other systems

Here's an idea I posted in another thread.
Create a folder in your project folder and put the access database file in it.
Then, include that folder in your project.

Use that folder as a reference in the connection string: ".\<databasefolder>\<database file>", instead of "C:\<somefolder>\<databasefile>". (Notice the dot in the beginning).

When you rebuild the project, that folder containing the database file will be copied to the build output folder along with the exe.
Then just copy the files and folder to where ever you want.

When you run the program, it will always know that the database is in a sub-folder from where it's running. Be it on a hard-drive or a USB memory stick.

You shouldn't need to install the complete MS Access program in order to make this work.

If you Release-compiled your program, then there is no need to install "vb".
You do, however, need to install the .NET Framework version for which your program is developed with.

Other then that, just make sure that your Access database is in the same folder as your exe.

If no mistaken, the .NET framework version is the same. The other compyter contain a folder of .NET framework 3.5 SP1. Somemome, there will be a access dile in the release folder with .exe file.

Try installing Ms access database and .net framework on the other systems

The computer already installed with MS Access. But it is a trial version which already expired. will this affect to my software?

Use that folder as a reference in the connection string: ".\<databasefolder>\<database file>", instead of "C:\<somefolder>\<databasefile>". (Notice the dot in the beginning).

my connection string is like this : "|DataDirectory|\RMA.accdb"

The computer already installed with MS Access. But it is a trial version which already expired. will this affect to my software?

It doesn't matter. You can uninstall it.

my connection string is like this : "|DataDirectory|\RMA.accdb"

Then your connectionstring should look something like this:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\DataDirectory\RMA.accdb;Persist Security Info=False;

If you get any problems with the connectionstring, then have a look at this: ConnectionStrings.com

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\DataDirectory\RMA.accdb;Persist Security Info=False;

Sorry for late reply. I tried to build file with this connection string but it could not work on other pc too...I dont really know what's going on now, even the pc was installed with vb and Ms access it cant work too...

Did you create that database folder inside your projectfolder?
Did you move the database file into that folder?
Did you include that folder in your project?
Does the path part of the connectionstring start with a dot slash (.\)?

Did you create that database folder inside your projectfolder?
Did you move the database file into that folder?
Did you include that folder in your project?
Does the path part of the connectionstring start with a dot slash (.\)?

ya...the database file has been created automatically when i build the system. I just copy the whole project folder to another computer but it couldnt work.
Yup...I changed the connection string to Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\|DataDirectory|\RMA.accdb;Persist Security Info=False;
but it show me a new error when i tried to debug it...OleDb was unhandled - not a valid file name on this line of code:

Me.Table1TableAdapter.Fill(Me.RMADataSet.Table1)

in my Form1

and when I changed the connectionString to
the error become this

'C:\Users\Kaccy\Documents\Visual Studio 2008\Projects\RMA Tracking System\RMA Tracking System\bin\Debug\DataDirectory\RMA.accdb' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

the path name automatically change to this...it should be 'C:\Users\Kaccy\Documents\Visual Studio 2008\Projects\RMA Tracking System\RMA Tracking System\bin\Debug\RMA.accdb' ...

oopS! I found my mistake....the connectionstring should be Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\RMA.accdb;Persist Security Info=False;

After that I publish the system by using publish wizard. It can install and run well under my computer...
Then i try to install on another computer, it can be install but when i try to use the system , the same error as before show, "selected collating sequence not supported by the operating system"

just take that exe file to other comp and istall there but u must be sure that the .NET framwork is installed into that comp try it will be work
and if works dont forgate to tick solved

I already install the system to another computer ...If i not mistaken, the computer is installed with .NET Framework since i had installed VB.
but it cant work...

I had tried this before...the New Database Sort Order now is general.
Isn't windows XP support multilanguage?

this is the error when i trying to save a record...

Thank you guys....I found the solution already. Actually just because of the version of the VB software that I use before. Before this I created the system with VB 2008 express, so that all the build application cant be support by other computer, after that I change to Visual studio 2008 and re-create the system, it can work well now.

Thank you for help ~ ^^ experience a lot from u all...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.