Visual studio 2010 Visual Studio安装项目内置了对管理目录名称更改的支持

Visual studio 2010 Visual Studio安装项目内置了对管理目录名称更改的支持,visual-studio-2010,setup-project,Visual Studio 2010,Setup Project,我有一个使用VisualStudio2010制作的安装项目 我制作的应用程序(以及安装项目部署的应用程序)已经发布了一段时间,因此有些用户的计算机上已经安装了该应用程序 自从应用程序首次发布以来,我工作的公司已经更改了名称。没有过多考虑,我只是将安装项目的部署项目属性中的[Manufacturer]名称更改为新的公司名称 不幸的是,现在当用户使用新更新的应用程序更新其现有的应用程序安装时,\Program Files\Old Company Name中的目录保持不变,并且创建了一个新目录\Pro

我有一个使用VisualStudio2010制作的安装项目

我制作的应用程序(以及安装项目部署的应用程序)已经发布了一段时间,因此有些用户的计算机上已经安装了该应用程序

自从应用程序首次发布以来,我工作的公司已经更改了名称。没有过多考虑,我只是将安装项目的
部署项目属性中的[Manufacturer]名称更改为新的公司名称

不幸的是,现在当用户使用新更新的应用程序更新其现有的应用程序安装时,
\Program Files\Old Company Name
中的目录保持不变,并且创建了一个新目录
\Program Files\new Company Name
,并将新的更新安装在此新目录中


这对我来说是有道理的,为什么会发生上述情况——然而,您知道Visual Studio是否有我可以设置的选项/设置,这些选项/设置将告诉安装项目将现有的
\Program Files\Old Company Name
目录重命名为
\Program Files\New Company Name
,然后将更新安装到该新目录中吗?

如果您不需要\Program Files\Old Company名称目录,您不能将其作为新安装的一部分删除吗?

如果您不再需要\Program Files\Old Company Name目录,您不能将其作为新安装的一部分删除吗?

回答您的问题。否在通过Visual Studio安装项目安装之前,没有内置的方法来重命名目录。如果可以做到这一点,它将需要通过一个自定义的行动看到这一点,这也是。您最好的选择可能是完全安装,然后将任何设置从旧目录复制到新目录,然后删除旧目录。这可以在安装程序的提交操作期间运行来完成。

来回答您的问题。否在通过Visual Studio安装项目安装之前,没有内置的方法来重命名目录。如果可以做到这一点,它将需要通过一个自定义的行动看到这一点,这也是。您最好的选择可能是完全安装,然后将任何设置从旧目录复制到新目录,然后删除旧目录。这可以在安装程序的提交操作期间运行来完成。

如果这是对应用程序的更新,则实际上只能通过Mark Hall建议的自定义操作来完成。但是,如果是应用程序的完整安装,则可以强制卸载以前的版本,并将重新安装到新文件夹的新版本

在安装项目属性中,更新主版本号并允许更新“产品代码”guid,请确保“RemovePreviousVersion”为true且“UpgradeCode”未更改


这将强制卸载以前的版本,并将新版本安装到新文件夹中。

如果这是对应用程序的更新,则实际上只能通过Mark Hall建议的自定义操作进行。但是,如果是应用程序的完整安装,则可以强制卸载以前的版本,并将重新安装到新文件夹的新版本

在安装项目属性中,更新主版本号并允许更新“产品代码”guid,请确保“RemovePreviousVersion”为true且“UpgradeCode”未更改


这将强制卸载以前的版本并将新版本安装到新文件夹中。

当您建议“然后删除旧目录”时,您是在暗示我可以通过运行脚本(即调用deltree命令)显式删除目录(和子目录)还是建议我运行某种“卸载”过程?我关心的是简单地删除目录(通过deltree类型的方法)在应用程序安装过程中,注册表和/或Windows放置文件的任何其他地方都会有旧应用程序的残余。@Jed-如果您有.Net应用程序,只要您没有注册任何第三方dll,您就应该能够删除该目录。但如果您不能这样做,您可能应该卸载原始应用程序在安装新目录之前,请执行以下操作。这是我建议进行完整安装的原因之一。当您建议“然后删除旧目录”时,您是在暗示我可以通过运行脚本(即调用deltree命令)显式删除目录(和子目录)还是建议我运行某种“卸载”“程序?我关心的是简单地删除目录(通过deltree类型的方法)在应用程序安装过程中,注册表和/或Windows放置文件的任何其他地方都会有旧应用程序的残余。@Jed-如果您有.Net应用程序,只要您没有注册任何第三方dll,您就应该能够删除该目录。但是如果您不能做到这一点,您可能应该在安装新应用程序之前卸载原始应用程序。这就是我建议全面安装的原因之一。