VB - Deploying a reference file - vb.net

I am a bit of a novice to writing code so my apologies if this sounds a bit school boy ish,
I have created an Addin for a software I use at work, Autodesk Inventor, I am having an issue deploying the files to the correct location.
I have created the addin, all I need to do is put a dll file and a .Addin file into the correct location.
I thought I could do this by creating a new VB project in VS2010 and if I added the 2 files as references I could then write something that when the exe file is run it put the files in the correct location,
Is this Possible?

If you want to do a Windows Installer deployment, then read Windows Installer Deployment Walkthroughs.
If you want to do a ClickOnce deployment, then read ClickOnce Deployment in .NET Framework 2.0

Related

Application works without installation

I created a program in vb.net in vb language. After that I created an installer (.msi) for the same in Advanced Installer program. I installed it on the computer and everything seems professional.
I copied the folder that contains the program and all its dependees and sent to to a different computer. I was surprised that the application (.exe) file works without installation!!
How can I make my application works only with installation?
Appreciate the help.
Advanced Installer has a licensing module that works for VB.NET apps too, which you can easily integrate into your installer.
However, this is in the Enterprise edition, and I assume you are using the free edition, as this sounds like quite a simple application/installer.
In this case you can try looking for an alternative OSS solution for a licensing/trial library.
Basically with this library every user that needs to use the software will need a key to activate it, so even if they copy the folder with the application files from Programs Folder, they will still not be able to run your app.

Publish WinForm that uses .dll in one file

How can you publish a WinForm that uses a .dll extension into one .exe file? I'm using VB.NET on Visual Studio 2013.
I have tried several methods such as using only the program .exe file from both the Debug and Release folder but these didn't work in isolation - a runtime error happened every time a command from the extension was used, as if it didn't exist.
My problem is packaging the entire program into one file. I don't want to have to use ClickOnce applications because you can't use a custom logo and so it kinda looks bad. I'll use it if there's no alternative.
I realised that the answer was to use the setup.exe file when publishing. Also, changing the logo of a ClickOnce program is possible.

Outlook AddIn gives "AddIn element not found in XML" error on install

I've created my first Outlook 2010 AddIn using VS 2012 but I'm having trouble creating a setup.exe.
I'm using clickOnce to publish the setup.exe files but when I try to install the AddIn, I get the same message as this guy - Error deploying VSTO Office addin
It turns out I cannot create MSI installer in VS2012 as written in the accepted SO answer because MS no longer supports it. Instead I am to use InstallShield to create the setup.exe. I tried that with the steps outlined in this video - http://resources.flexerasoftware.com/web/demos/IS2010_VSLE_Demo/IS2010_VSLE_Demo-lite.html
That failed too. For some reason it cannot find the .vsto file which doesn't seem to get created! The file path it looks for is also wrong even though I did specify in the registry "[TARGETDIR]… |vstolocal" per the instructions from an MSDN page.
Question: What do I need to do to fix either the clickOnce installer error or the InstallShield error?
I don't care which deployment method I use as long as:
1. it WORKS!
2. I can copy the setup.exe (w/ any necessary files) on to a USB stick and give a few people to test the Outlook AddIn.
Thanks.
Thanks to Andy_mic in MSDN Forum, here's the answer:
Follow ALL the steps, step by step, in the following link: Deploying an Office Solution by Using Windows Installer
I ran into a couple of problems:
I did not have the GUI Generator installed as a windows program. See this post for solution: Is Tools > Create GUID removed in Visual Studio 2012?
The value for the Manifest in the Registry data of the AddIn should be: "file:///[INSTALLDIR]ManifestFileName.vsto|vstolocal". In my case the manifest filename was ABCAddin_v1_0_0.vsto and so the value has to be "file:///[INSTALLDIR]ABCAddin_v1_0_0.vsto|vstolocal"
If you do not find the deployment and application manifest files in the "bin/release" folder, its because you need build a release version of the project first!

Making a Stand-Alone EXE File

I'm currently using Visual Studio 2010 to make a Visual Basic project. I'm trying to make a standard .EXE file for distribution but everytime I go to publish, I keep seeing it make a Click Once application.
Is there a way to complete and build a project in VStudio 2010 without making it as a Click-Once application?
Don't Publish it; that is what is making it a clickonce application. Just Build Solution; this will create the exe in the specified output directory (usually debug or release depending on your current Configuration.

VB.net app without installation

Is it possible to create a VB.Net application which users can just run without installing it first.
If not, is it possible in another .Net language.
If not, how IS it possible :)
PS: The application only has to run under Windows (>= XP).
If they have the .NET Framework installed (the version of it that you developed it), they only need the .exe. You can find the .exe file in the bin directory of your projects folder in your Visual Studio workspace.
If they do not have the framework installed, you'll need to produce an installation for them. It's extremely easy with Visual Studio by just creating a setup project in the same solution as your code.
As long as the user has the .net runtime installed, and your exe has any needed resources in the same folder (dll's, images, ect) theres no problem with that.
If you mean without installing the .net framework though, that won't be possible.
just build the program, and go into the (assuming the project name is app1) app1/app1/bin/debug/ dir. there should be a file there called app1.exe. this file is the compiled .exe from you project. any other computer will be able to run this without doing any installation (provided they have the .NET framework installed (it comes standard on any computer with an os > WinXP))
EDIT: If you were building with debug configuration, it would be app1/app1/bin/debug/, but if you were building with release configuration (which would probably be a better idea if you are distributing) the path would be app1/app1/bin/release/
If you mean running it without the .NET Framework, it used to be possible, but apparently the company's website is no longer in English so I have no idea what's happened to it.
EDIT: If you were building with debug configuration, it would be
app1/app1/bin/debug/, but if you were building with release
configuration (which would probably be a better idea if you are
distributing) the path would be app1/app1/bin/release/
I am developer and have no administration rights to live(production) network.
I had to find away to deploy an app without installation... and my app is self updating this cause other problems too....
The production network Computer check/monitors the file versions etc, so updating in the program files can not be done, where a MSI has been used for deployment.
Using this above I am able to copy and Run the App from the User Profile (where the user has full rights).
lets understand how program runs-
an .exe needs some function which are not inside the .exe, such as , for example substring() function. these predefined function resides in some .dll libraries.
when .exe is executed by user, .exe first finds the .dll and then the function inside that particular .dll.
.exe first looks within the current folder for that .dll
if not found then it searches that in PATHs. (PATH is Environment variable which value is a list of folders such as System32 etc.)
an .exe usually needs only 3 things - .exe itself, .dll which predefined function it is using, and some ActiveX controls(.ocx). apart from these 3, .exe only uses resources (such as icons etc).
lets focus on these 3(.exe, .dll, .ocx)
first you need to check what .dlls your .exe is using. you can easiely do this by using a dependency walker.
then make sure all these .dlls (that dependency walker is showing,or in other words- all these dlls whose functions your .exe needs) are either in current folder(in which your .exe resides) or in the PATHs.
if this step is done then your .exe has high chances to run whithout "installing".
the only problem is that some .dll and all of .ocx, needs to be registered first(means they have to have some kind of registry entry). they are not ready to use just by copying and pasting in current folder or PATHs.
but you can register these .dlls and .ocx's by using regsvr32 (with command line).
after that your .exe should not face any problem to run successfully.
hope you got the main concept.