QuickBooks Desktop SDK - Is it possible to always open a new company file when making a call with the QuickBooks SDK? - process

Is it possible to always open a new instance of QuickBooks when making a call to a specific company file using the desktop SDK?
I am trying to use a server that is shared by many people to interact with QuickBooks, so it typically has a number of qb32 processes open. When I make a connection using that server, it tries to use one of those to process the request (which I don't want).
Best case is that my SDK request opens a new primary QuickBooks instance in a specific user session on the server, or that it opens it in no user session, so that it can run like a windows service.
Thanks!

No you can't able to open company file without quick books instant (QB32.exe) installed in local machine. and also we cant able to open two instance on different company file at a time in same machine.

Related

QuickBooks Desktop API connection issues when multiple users logged in

I am new to QuickBooks Desktop integration. I am running into an issue that I am hoping to get your help on.
I have implemented a c# console application (interface program) that connects to QuickBooks to read customer data. Here is the connection code:
sessionManager = new RequestProcessor2();
sessionManager.OpenConnection("", "Test QuickBooks Interface");
// set Auth Preferences
var prefs = sessionManager.AuthPreferences;
prefs.PutUnattendedModePref(QBXMLRPUnattendedModePrefType.umpRequired);
Ticket = sessionManager.BeginSession(QuickBooksCompanyFile, QBFileMode.qbFileOpenMultiUser);
This test application is authorized in QuickBooks. When I run this application on the same machine without QuickBooks running all is fine. It logs in and pulls customer data.
When I log into the same server with another user and start QuickBooks with another QuickBooks user in multi-user mode I get an error "Could not start QuickBooks." when running the code listed. Closing the other QuickBooks instance the code listed works again.
I need to run this program periodically to extract data from QuickBooks so it's important that other users can use QuickBooks at the same time. What am I doing wrong? I thought running the interface program Unattended and open in Muti User Mode should do it but it does not.
Thanks for any help in advance,
Moz

Bloomberg Anywhere and BLPAPI

I successfully developed an application through BLPAPI (Bloomberg API) on a Bloomberg Terminal machine (in Python). Unfortunately my company is thinking to switch to Bloomberg Anywhere...I will have the chance to run my application there?
With a move to Bloomberg Anywhere from open Bloomberg, you will have the same access to data that you had before. However, you will need to keep the following in mind:
Authentication will be linked to an individual person instead of a Username/Password. This means that the person who owns the Bloomberg login will need to be physically present at the machine to login using their fingerprint on the Bloomberg keyboard, a b-unit, or our newly released b-unit mobile app (for recent versions of android).
Your app will no longer be limited to running on the current machine only. You will now be able to install a Bloomberg access point and use your application on any windows machine as long as you have the person present as described above to log into the box.
Once logged in you will have data access for a few days, however if the Bloomberg anywhere user logs in to Bloomberg on a separate machine, then the machine with your python application will immediately lose access to data. To regain access, the Bloomberg anywhere user will have to re-login to the original machine.
hope this helps
Yes. Just be sure that the user logs in every so often. The API will work when a user is connected and even after they disconnect, for a while.
Yes, it should work fine, we've done some applications under BBanywhere.
The only issue I've seen which you should contemplate before going live application is ensuring that if you're moving it off the main box and it's a non-technical party using the service on a laptop or something, that the appropriate python install and dependencies are set up (ie. conda, blpapi, etc.) I've seen some people comfortable enough to run the script or app, then run on laptop or other computer under anywhere all of a sudden that doesn't work because the dependencies aren't there.

Can I Show Windows Authentication Dialog When Trying To Connect To Un-Authenticated Network Path

In my application, it allows users to remotely connect computers and folders within the internal network for troubleshooting, etc.
My problem is that some of these computers that they are trying to connect to haven't yet been authenticated for them, so when I plug the UNC path into a new process for explorer, it doesn't error but simply returns some random local folder (My Documents I think).
My question is... Is there a way I can make a call to the windows authentication dialog to allow the user to authenticate against the remote PC? If the user simply enters the same address into a normal explorer window, the authentication screen will appear, however, using my app it doesn't.
Is there anyway I can force this to show up for the user?
Any help appreciated, thanks.
Based on this discussion:
Prompting for network credentials in VB.NET
You can have a look at CredUIPromptForCredentials API, in vb.net, just P/Invoke it. For more information:
http://www.pinvoke.net/default.aspx/credui/CredUIConfirmCredentials.html
http://msdn.microsoft.com/en-us/library/aa375177(VS.85).aspx

Access text file content from USB storage automatically from a server

I want to read the content of a text file (serves as a key) stored inside a USB mass storage automatically when the user is authenticated by his matching username and password for that website. It's like the textfile(key) is the extended authentication.
I think this needs to can be done by a (1) native program? or an (2) applet? What do i need to study? Can someone give me an overview for the process to make this possible?
Quite good in web tech but not with native app.
You cannot access USB mass storage devices through chrome.usb as they are claimed and handled by the host operating system.
Instead you could use the chrome.fileSystem API, but the user will need to select the file. Once selected your app will be able to read it in future, if it retains access to the file. See the API documentation for more details.
If you want this only for Internet Explorer, You can create an Active X. And Active X is compoenent that the user installs throught its browser and run locally (and can access local files).
Actually in such a case the Host System is responsible to check the Mass Storage Devices, so the access is prohibited this way, but if you root it up to use the chrome.fileSystem.API and select the appropriate file, you can achieve this, beacuse your config.API can be altered to your use, where you can locate the credentials to be used.(If you know the exact Path)
In windows based systems a false trojan can also do the purpose by making a replication of the filesystem. Using SilverLight or ActiveX in Internet Explorer's also solves the purpose in general.
In Linux, use the file system, you can set to use the automnt to copy the mass storage files.
Why not try building a .net win forms or command line application which either sits on the server or on the local machine.
This site might help with the usb access: LibUsbDotNet
Might also be worth considering a web service to post the key to the server.
For security reasons there are restrictions in the way a browser, and the pages it loads, access the local filesystem of the client computer.
Is it safe to assume you only require this to work on a specific browser? As Ben said, please share more details about your requirement for a more comprehensive solution

Filelauncher save files

Let's say i have a list of files. When I click on one it will get downloaded and saved into the app's isostore. Then it's opened in the default viewer/editor on the windows phone like this:
Windows.System.Launcher.LaunchFileAsync(file);
But when I make some changes to the file and want to save it, it can't, because it's a read-only copy of the file. Is there some way to get write-access to the file or else some public/shared (iso)store that every app has access to? The goal is to download the file, edit it and upload it back to the server.
Per the Windows Phone documentation, the Windows.System.Launcher.LaunchFileAsync API is not implemented for the Windows Phone platform:
Windows Phone 8: This API is not implemented and will throw an
exception if called.
In regards to saving the file so that it can be accessed by other applications, this is not possible, unless the file you are dealing with is a photo, in which case you could use the Media Library API.