Hidden database files in application folder after installation - vb.net

I am newbie to vb.net I have tested a few applications downloaded from net. They are surely database applications but when I checked in the folder where the application is installed, there is no database (no mdb, sdf etc.)
When I install my application, my databases are always in the folder.
What is the trick to make them invisible but they should still work.
Thanks

If the applications are using databases files such as Access or SQLite, then they are probably storing them in a user-specific directory, such as C:\Users\MyUser\My Documents\MyApplication\MyDatabase.mdb, instead of in the application directory.
This allows the applications to keep different databases for each user that logs onto the machine.

Related

Moving Images between Pirhana Websites

When uploading images on my local development environment, and uploading the contents of the Uploads and Content Folders up to the live environment the images do not show even after updating the application pool - do you know what step i am missing. I am using Piranha in passive mode?
Well without any further information it's hard to come up with something that will qualify as an answer :) However, if you have copied both the database and the binary files located in ~/App_Data/Content/ my guess would be that Windows is playing a prank on you and that the IIS pool of the live environment either:
Doesn't have permission to access the App_Data/Content folder, or
That permissions from your dev server have been copied to the live server so that the IIS app pool doesn't have permission to the copied files.
Regards
Håkan

vb.net db application - deployment

developed a win. form vb.net db app that uses an access.accdb backend. I am struggling to find the best deployment strategy. In the past, I have distributed the .exe and access.accdb from the /bin/debug folder. This works, but Im not sure if it's the best method.
this db app. will be used by 5-10 ppl, non-simultaneous
my current plan is to put the .exe and access.accdb on a network share drive, users will launch from network share
users do not have admin privs, the computers have strict security settings
I have noticed that when launching the .exe from network share, you get the unknown publisher warning; this message does not appear when launching from local drive. Due to users security restrictions, I know that simply hitting 'continue/run' on the publisher warning is NOT an option. There is no 'continue/run' button.
So, I assume I have to buy a code signing cert and strong name sign the assembly?
I also read here http://msdn.microsoft.com/en-us/library/142dbbz4%28v=vs.80%29.aspx that clickonce deployment does not require admin privs, and can be launched from network share and ran from cache.
In this case, I buy Authenticode cert and sign the clickonce manifest?
Any advice?
edit
I left out a key function of the app that will affect deployment.
Users can select files and upload them. The basePath/filename is stored in the db. uploading and retrieving the file via openFileDialog and datagridview.cellContentClick is all relative to where the .exe is launched from (application.startupPath). I didn't want to hard code full paths into the db, because I'm sure it will be moved, (both app and files) over time to a new location.
ClickOnce deployment is the way to go here.
You do not have to buy anything, you can self sign your assembly with a strong name.
This should be fine for an internal application

How do I connect to Access database on local network in VB.net?

My MS access database is located here :
http://192.168.202.1/dbname.mdb
Other computer in LAN network have VB.net s/w installed.
How do I connect to this db?
Thanks in advance :)
Actually, your terminology you using is wrong. You don't connect to a word file. You don't connect to a power point file.
So you have to keep in mind here you are not really connecting to some text file or mdb file that just happens to be sitting on a hard drive.
You are thus simply opening a file.
I mean it is silly to say we connect to a word file, or we connect to a Power point file. So in the case of the office suite and those basic simple files that resides on the disk drive?
We are talking about plane Jane windows file.
A horse is a horse is a horse.
A file is a file is a file.
So you don't connect to the jpg file sitting on the hard drive, you OPEN the jpg file. So if you talking about your current setup it best to use the correct terminology here. You are not connecting to that Access mdb file, but are in fact opening a plane Jane windows file. If you look close at your connection string, it will ALWAYS have a fully qualified windows path name in it that resolves to a file sitting on a folder.
So if you place that file on some server, say web server, then then you still faced with having to open that windows file. This is NOT ANY different then wanting to open a power point file. That means if you going to connect over the internet then you need to EXTEND the windows file system (this means you will need some kind of VPN). At the end of the day, if you cannot use windows networking to brwose and open the folder where that file resides, then you cannot open that file with Access (or more specific in your case the JET data engine).
So for example, if the server where the file resides is a non windows box, say Linux, then you need to "add or use" or "install" the windows file and networking system on that box. A common choice in Linux is to install and run Samba on that computer.
Keep in mind that in the case of using SQL server, then you are connecting to a SERVICE running ON THAT server. In this case then you not opening a file on the remote box, but are simply using a socket (tp/ip) connection to some service. So you not just opening a silly old windows file that happens to be a mdb file on that system in this case.
So as such when you use FTP or http, these are not real "windows" networking systems that allow you to open + use a plane Jane windows file.
So as such, just keep in mind the concept here that you are NOT connecting to some file, but you are just going to OPEN the file.
You need to be able to OPEN the file, and you need to be using the windows networking system to do this open file in the case of Access. I mean, you don't have to install Access(JET) on the target computer. You don't have to install Power Point on the target computer to open a power point file. So you are ONLY opening a file that just happens to be on some other computer.
As such, your path name of http: is not allowed since that is now using http, and not windows file/networking system. As such a path name has nothing to do with windows networking and opening of a simple file sitting on the hard disk. So HTTP or FTP etc. are not based on windows networking and file system.
I don’t think this basic concept is too hard to grasp, but at the end of the day the concept you need to grasp and learn is that when you open a windows file sitting in a folder on the hard drive, then then will you need the windows file system to open such files. The idea and concept of opening a file in a folder might be new to you, but it is a basic requirement and understanding you need to solve this issue.
As noted, you can consider a VPN, but I explain why such a setup is not going to work in this article:
Using a wan with ms-access? How fast, how far?
http://www.kallal.ca/Wan/Wans.html
I suppose another possibility would be to consider the new web publishing ability that Access has. In the following video note how I switch to running the Access application 100% in the browser. The resulting application does not need any ActiveX or Silverlight. So the web pages run + work fine on my smartphone and even my iPad.
http://www.youtube.com/watch?v=AU4mH0jPntI
So you can use the new web publishing feature, and that would allow one to use http: to use the application.

Having local and remote versions of my site in Aptana Studio 3.0, like Dreamweaver does it

In Dreamweaver I could set up a project such that I had the remote side, where my live site would be located, and the local side, where those same exact files resided on my hard drive with the same structure. How can I do this in Aptana Studio 3.0? I only know how to access a site remotely, so I can edit the files just fine, but I can't figure out how to have a permanent home on my hard drive for the files, so I can (for example) upload new files to my server without opening up a separate FTP program.
On their site, Aptana touts the following as one of the new features of Aptana Studio 2.0:
Radically improved the remotelocal file transfer features. There is an all-new UI and infrastructure for specifying connections, connecting them with projects, and copying files in each direction.
That sounds like what I want to do, but can't figure it out.
There are a few wiki pages on creating connections between a local project and a FTP site:
https://wiki.appcelerator.org/display/tis/FTP%2C+SFTP%2C+and+FTPS+Deployment
https://wiki.appcelerator.org/display/tis/Create+a+FTP+Connection
https://wiki.appcelerator.org/display/tis/Managing+FTP+Connections
Hope these help.

vb.net - keeping program updated?

I'm looking for suggestions on keeping a program that is running on a network updated. Installation consists of 15 users, each have the program on their local pc, but they all access same date from sql server.
I am looking for a clean method that would allow me to update one folder on the network and for each computer to get updated when they run the program and the programs sees a later ver on that folder on the network. (Obviously I can do this inside the program itself since it won't allow being overwritten while opened.)
You should have a look at
ClickOnce is a deployment technology
that enables self-updating
Windows-based applications that can be
installed and run with minimal user
interaction.
Using ClickOnce Deployment in
VB.NET
ClickOnce - A new VB.NET 2005 Deployment Tool
ClickOnce Deployment for Windows Forms Applications
ClickOnce Deployment in .NET Framework 2.0
Another option is to create a second program that will check the network for an updated version of your application. Let's call this program "updater.exe".
You can run updater.exe on system startup like Adobe Reader or Sun Java do.
Or, when your application is started it can load updater.exe. If updater.exe finds an update, it can close/unload your application, download the newer version, restart your application and close itself.
astander's answer above is correct, you can use ClickOnce for this. Another option is creating this application as a web application.
Web applications basically work the way you described, the application's files reside in a web server, all the users connect to it using a browser, and to update the application you only need to update the files in the server.