My deployed File (.msi) can not be Installed on another machine - visual-studio

I deployed a small application, i got the files you see in the image. I took the first file (.msi) and sent to a remote machine to let the end user installs it. However, the user gets an error that says file is missing or so (i can't remember the error message).
Should i send the second file "setup" along with the first one?
What the difference between setup.exe and .msi when they both do the exact
same job. The odd thing setup.exe is smaller. Can you please explain?
I didn't send the second file because the (.msi) in my local machine, where i developed the application, works fine at any location regardless the location of the "setup" file.
The WinForm application is written in C# on .NET 3.5. I used VS 2008.
Thanks.

setup is nothing more than just an application that can install any pre-requisites that are needed and then calls the MSI. If you can post the actual error message than perhaps I can also explain why the MSI didn't work.

Related

Btrieve 6.15 (Win 95) does not autoload in VB 6.0 IDE environment

I've recently bought a new tower and used third-party software to port across all my development tools (another story in itself), including VB 6.0, all my third-party tools, and Btrieve. The only problem I have with Btrieve is more an annoyance than anything. On this new tower, I have to remember to run my compiled application once before attempting to run it from inside the IDE or else it will not load, and subsequently return a corresponding error when it attempts to open the first file.
If anyone else has encountered this and knows how to fix it, I'd much appreciate it.
After checking this page on Wikipedia I realized that I needed to focus on two files: w32mkde.exe and wbtrv32.dll
By manually running the exe file, it would load the engine and my application would then run in the IDE, but I still had to manually start the exe. The desired and original behavior on my older machine was that running my program in the IDE would automatically launch the sever exe. From the Wiki page, I learned that it was wbtrv32.dll that was actually called by the program, which in turn would call the exe if needed.
I had recentl ported over my old machine to a new tower, and many of the ocx and dll files in \windows\syswow64 did not make it. There seems to be no pattern to which ones, but I had to re-register those as I found them. There must be some link there, because when I copied-over the W*.exe and W*.dll files from my production backup folder to the syswow64 folder, it suddenly worked again. Likely just a corrupt copy of the dll file. I believe the reason that the compiled version ran correctly is because those dll and exe files were installed to the application folder, and were apparently okay, but not being invoked when run from the IDE.
Hope this might help someone else some day.

Compileing my blank console application with a setup Microsoft visual studio 2015

so i have a console application that stitches a pdf into one big long tif however when i go to make a setup project it all seems to work fine until i move the installer to another commutator and run it it installs fine however whenever i run the application it gives an error
The program can't start because ucrtbassed.dll is missing from your computer
i have seen videos where when they add the primary output some msm file is added depending on the library's used in he code however no such file appears when i add my output in the application folder section in the main setup file
edit::
i feel that i cant explain this correctly and thus will upload it as and image this is the main application file inside of the setup project it looks like its only copying the source code when it should also include some dlls
application folder on the setup wizard
You are shipping a debug version of your app, and it is failing because it is asking for the debug version of the Universal CRT (that's why there is a "d" on the end, and it's actually ucrtbased.dll). In general the debug versions of these are available for debugging on developer's machines, not for client machines. So build a release version of your app and see what it does. If it fails looking for ucrtbase.dll, then clients can use this to install it:
https://www.microsoft.com/en-us/download/details.aspx?id=48234

What is the path to an installed ClickOnce application?

I wrote a "Hallo world" type Windows Forms application in C# to test authentication issues. I'm going to be running the eventual application from a server periodically, so I want to be sure I can get to the resources, and fix that before committing to the whole application.
So, in Visual Studio 2010, I choose Publish....
It says "Where?", and I specify a folder on a shared file system.
It says "How will your users install", and I say, "URL" or something like that.
It says "Where", and I give it a URL in the same shared file system, different folder.
All is right with the world....
Now, I install it on my server by double-clicking "setup" on the shared file system where I published the application.
Now, I find a shortcut in my start menu, all good.
Now, I want to set it up so SQL Server Agent executes it periodically (and tests authentication...) so, what is the URL I give it to execute? I've been trying everything, but not going so well. I don't understand the publish method much at all....
How can I fix this problem?
Look at the Start menu shortcut for your installed application and you'll see that it points to a "ClickOnce Application Reference" (.appref-ms) file buried deep within your user folder. You can start the application by executing that file.
Example:
Process.Start(#"C:\Users\Igby\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Microsoft\MyClickOnceApp.appref-ms");
I don't know anything about SQL Server Agent, but try giving it this path.

How can I properly publish my Windows desktop application in such a way that will ensure the end user has the right files needed to run it?

I have created a small desktop application using .NET 4 for generating an authentication string. It runs fine on my Windows 7 computer, however when I deployed it to our QA guy on his Vista machine, it gave him an error saying he needed to install .NET 4... FAIR ENOUGH. We installed .NET 4, however the next error said that "Microsoft.Web.Infrastructure.dll" was missing from the GAC. Crap. So I poked around a bit and found this:
I then set Publish Status of Microsoft.Web.Infrastructure.dll to Include and published again. This time it gave him an error about "System.Web.Mvc"! So I knew I was on to something. So I went and did this:
However, now when he runs it it just says it can't download files required to run the application, and will not specify what they are!
How can I properly publish my Windows desktop application in such a way that will ensure the end user has the right files needed to run it?
Note: I think Razor and MVC are included because this windows desktop app project is dependent on some other projects in this solution that are using MVC. (Basically this desktop app is using some of the Models.)
Edit: Here is the end result (README was added by me not VS)
As it turned out, the second screen shot view with everything set to Include was the proper way and worked fine while the first screen shot caused missing DLL errors during install. It really was just an FTP upload user error that had the installer looking for a folder that was not there, which is why the second version did not work the first time.
I think you should be looking in the Prerequisites dialog from the Publish tab of the project Properties window, not the Application Files dialog. Not sure if this is an SP1 feature or not (I have SP1).
Image reply from Ryan (question poster):

Why does using Shell to run a .MSI file sometimes fail in VB6?

I am attempting to launch the .NET CF installer from a VB6 app using the following code (for the sake of brevity I have replaced the full path to the installer with "(full path)"):
Shell "C:\WINDOWS\system32\msiexec.exe /fa ""(full path)\NETCFSetupv35.msi"""
I've run this on four machines so far. On two it works fine, on the other two it fails. When it works, the CF installer just runs. When it fails, the first thing it does is pop up a dialog saying, "The feature you are trying to use is on a CD ROM or other removable disk that is not available." The dialog provides a text box to enter a path and a browse button to find it, so I provide the path, click the open button and get this error, "Error 1706.No valid source could be found for product Microsoft .NET Compact Framework 3.5. The Windows Installer cannot continue."
Can anyone tell me what's going wrong here? What is missing from the machines upon which it fails?
Possibly a problem with the Compact Framework MSI itself? You could try Microsoft support (do you have a MSDN subscription?), or posting on a newsgroup.
Alternatively try adding the logging argument to your command line "/l* LogFile.txt" (don't include the quotes) and then try to understand the log.
Have you tried running the installer manually on the computer where vb6 fails?
If it does work then it is probably not an installer issue. My guess would be that it is an execution path issue where shell finds the correct components when the PATH variable is set correctly

Resources