我有一个Visual Studio 2010部署项目,其中包含以下设置:
DetectNewerInstalledVersion = True
InstallAllUsers = True
RemovePreviousVersions = True
Run Code Online (Sandbox Code Playgroud)
我正在构建的项目有几个DLL,由于实现序列化的传统方式,此项目的文件版本无法递增(我们正在更改).
如何让安装项目完全删除现有文件(或者至少覆盖所有新文件)?
也许我需要在安装程序中编写卸载脚本(有人可以链接我这样做,我找不到)
我环顾四周,对于任何现有的问题,他们都说"增加你的文件版本",但对我来说这不是一个选项.
我有一个简单的Web安装项目,可从可部署项目中读取.
尽管我已经设置了安装程序DetectNewerInstalledVersion
,以false
我总是说讨厌以前安装存在的警告框,我需要去Control Panel
找到要删除的软件它...
有没有办法在新的安装对话框中添加脚本,可以说A previous version was found, press NEXT to uninstall it.
?
我有一个自定义应用程序,其中包含一个简单的app.config,用于指定SQL Server名称和数据库,我想在应用程序安装时提示用户安装应用程序配置项,然后更新app.config文件.
我承认我对设置项目非常陌生,我正在寻找一些指导.谢谢Mark Koops
我有一个使用C#构建的Windows服务,它是通过VS2008安装项目安装的,并且在卸载过程中遇到了一些问题:
卸载前不会停止服务
卸载例程运行时,会引发有关正在使用的文件的错误.单击"继续"正确完成安装程序,但该服务仍显示在列表中,因此未正确卸载.
(目前,我不得不使用sc delete servicename手动删除它).
我试图在使用以下代码卸载之前停止服务,但它似乎没有生效:
protected override void OnBeforeUninstall(IDictionary savedState)
{
base.OnBeforeUninstall(savedState);
ServiceController serviceController = new ServiceController(MyInstaller.ServiceName);
serviceController.Stop();
}
Run Code Online (Sandbox Code Playgroud)
何时调用此代码,如何在卸载之前停止服务?
卸载后未删除安装文件夹
应用程序还会在执行时在其安装文件夹中创建一些文件.卸载后,安装文件夹(C:\ Program Files\MyApp)不会被删除,并且包含应用程序创建的文件,但安装程序实际安装的所有其他文件都已成功删除.
卸载过程是否可以删除安装文件夹,包括该文件夹中的所有生成文件,如果是,如何删除?
谢谢.
目标:为了支持在一台计算机上可能有多个实例的Windows服务,请使用安装项目创建一个能够执行以下操作的MSI:
我最初的希望是在App.config中设置服务名称(然后在实例化ServiceInstaller时在卸载期间检索它.这似乎很天真,因为在安装过程中无法访问它.
如果MyInstaller扩展了Installer,它可以调用base.Install(); 但是,我尝试写入app.config(在MyInstaller.Install()内和base.Install()之后)是无效的.
因此,虽然可以使用自定义服务名称安装服务,但该名称未被序列化,安装程序在卸载时最不满意.
该怎么做?
我有一个安装项目需要向注册表添加1个简单的字符串,并且安装项目中的内置注册表编辑器似乎根本不起作用.它默认将基本密钥HKEY_LOCAL_MACHINE\Software\[Manufacturer]放入安装项目中,甚至不起作用.
以下是我用来添加密钥的步骤.
编辑:看看这个网页上的图5 .它向你展示了我看到的东西,除了看起来像是一个更老版本的visual studio.
我不知道这怎么会失败,应该这么简单.我甚至尝试过简单的键,它不会创建任何东西,或者至少会抛出错误.我已经看过这个解决方案,但是当有内置功能时,添加一个post build步骤来手动编辑注册表是荒谬的.该帖子表明该功能刚好被破坏,所以不要使用它.
这是一个非常简单的问题,答案很简单,但在互联网上找到答案并不是那么简单.
我在Visual Studio 2008中有一个简单的安装(部署)项目,我有EULA文本.在项目中我需要做什么才能将EULA纳入安装向导?
我有一个安装/部署项目对我的应用程序,它输出的某些文件(*.DLL,*.dat)复制到应用程序文件夹.
我想设置一个条件来检查文件当前是否存在.如果没有,请写入,但如果是,请不要从包中安装.可能吗?
该文件称为"database.dat"下的属性,我看到一个"条件"属性,但我不熟悉,放什么在里面.
任何输入都非常感谢.提前致谢.
编辑:
之所以会存在是从以前的安装将有从数据集/数据表中,我们不希望重写的数据.
我正在为Win App创建SetUp项目.在VS2010 Framework 4.0中
现在选择先决条件(从项目属性获胜)
根据我的项目要求,我有Microsoft .NET Framework 4(x86和x64).
现在我对Wind Installer的选择感到困惑
(Windows Installer 3.1/Windows Installer 4.5)
它们是基于应用程序将安装的操作系统或......什么..?
.net installer setup-project visual-studio-setup-proje c#-4.0
在 Visual studio 2019 及更早版本中,安装项目是我可以添加到任何解决方案的项目模板的一部分。现在我尝试在 VS 2022 中打开一个旧的解决方案,它说此类项目不兼容。
是这样吗,还是我错过了什么?我能做些什么吗?
我知道有一些新的安装程序解决方案与 VS 集成,但安装项目只适合我,我从来没有觉得需要改变。
setup-project ×10
installer ×3
c# ×2
.net ×1
app-config ×1
c#-4.0 ×1
deployment ×1
eula ×1
install ×1
installation ×1
registry ×1