I have a standard Visual Studio installation project (2008) that generates msi containing several files. I noticed, however, that: 1) When msi is installed and some of the files already exist, it simply silently ignores these files. This is a behavior that I do not want, for obvious reasons. 2) When I delete msi, it does not delete my main dll file.
How can I fix these two things? Together, they make it impossible to automatically update my software.
I had the same problem and eventually gave up. Getting started is a terrible, complex process involving many GUIDs. After that you will feel very dirty (assuming that you someday will earn).
My advice is to switch to Inno Setup, which is much more suitable for people like you and me.
Leave .msi to those who do "corporate deployments" instead of "installs."
Have you increased the version number in your installation project? Increasing the version number will also require the creation of a new product identifier. You must confirm this question yes.
, MSI - MSI.
, , , ( DLL), , . , , msi.
, .manifest .vsto, Visual Studio, . DLL CompanionFile, DLL .manifest,.vsto .., .
, [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs]
MSIZAP aka " Windows", , ( 10 , 1000 .reg ), .
MSIZAP
http://robmensching.com/blog/posts/2009/3/6/More-on-Haacks-Troubleshooting-Windows-MSI-Installers , , " " " , .
, Installshield , , .. .. .
, (), , Windows Installer. , . , .
- .:
[ProgramFilesFolder]\\[ProductName]\\[ProductVersion]
Also set the project project property RemovePreviousVersionsto true.This should delete the old version folder and create a new folder for the new version.Remember to change the version property of the installation project each time you make a new version.
RemovePreviousVersions
Another option is to delete the current application and install a new msi, however, this will require a special winforms application
Source: https://habr.com/ru/post/1705191/More articles:Каков обходной путь для исключенного исключения доступа к памяти на ARM9 с использованием C? - c++How to "share state" with Erlang Style Concurrency? - concurrencyDjango syncdb locks on table creation - pythonFxCop is just as valuable on VB.NET as on C # - vb.netWPF - FocusVisualStyle, where do I use it? - wpfHow to convert 1400-1500 to 2 pm - 3 hours? - datetimeHow to create a temporary file in a directory other than temp? - c #DropdownList reset to index 0 at boot - reloadSpecial characters in the header of the LaTeX table - latexxmlHTTPrequest will not open ("GET", url, true); I am a myth! PHP - javascriptAll Articles