It is necessary to overwrite the DLL in the installation installer, but the file will not be replaced

I use Inno Setup to install patch updates for my VB.net application, where I need to replace the DLL file and a couple of javascript / html files for the update. However, the DLL is not updated (it is located in the C: \ program ... files) - even on XP systems without UAC it is not replaced, but when I manually delete the DLL and re-run the patch, the file is copied, This is not only readable, and in in case of XP, the UAC / admin privilege is not involved.

What could be the reason that the file is not copied if the file already exists? It is built in VS2008 and in .NET 2.0 - the new DLL has a newer date and size difference.

Is there a way around the UAC write access issue in Vista / Win7 / 8? I think the patch will never succeed in replacing the file on these systems with UAC. Talking about our user base in order to disable it is obviously not an option.

[EDIT] The dll assembly is packaged in the setup.exe file in Visual Studio, selecting it from the Release folder when creating the solution. There is no [File] in the inno setting:

[Files] Source: C:\Visual Studio 2005\Projects\Setup5\Setup5\Debug\setup.exe; DestDir: {app} Source: C:\Visual Studio 2005\Projects\Setup5\Setup5\Debug\interact.msi; DestDir: {app} [Run] Filename: {app}\setup.exe; Flags: runmaximized 
+6
source share
1 answer

Does the DLL have a version resource? Is the new DLL a higher version than the old? By default, InnoSetup uses a version resource to determine whether to replace the file.
Another option is that you can add the ignoreversion flag to the [Files] section to always replace this file.

+7
source

All Articles