这可能是一个愚蠢的问题,我的谷歌搜索今天没有运作.
我有一个应用程序,我添加了一个Visual Studio安装程序>安装向导项目.我想知道如何添加一个按钮或复选框,成功安装后将启动该应用程序.这将位于MSI安装程序包的最后一页.我正在使用Visual Studio 2010 Ultimate.
我需要这样,以便当应用程序执行自动更新时,它会自动启动安装程序.我只需要安装程序在更新后重新启动应用程序.
这可能很简单,但对于我的生活,我无法弄明白.在此先感谢您的帮助.
我几天来一直面临一个问题,经过多次研究后,我找不到任何适合我的情况的东西。
事情是这样的:我正在使用 Visual Studio 2010 开发一个包含多个项目和一个安装项目的解决方案。我希望安装项目创建一个 MSI 文件以将产品从版本 1.5 更新到版本 1.6。
我遵循了本教程http://www.simple-talk.com/dotnet/visual-studio/updates-to-setup-projects/并更新了解决方案每个项目的程序集版本和文件版本号。
我的安装项目的设置是:
DetectNewerInstalledVersion : True
InstallAllUsers : True
RemovePreviousVersions : True
Version : 1.6.3
ProductCode 与以前版本的 ProductCode 不同
,UpgradeCode 与以前版本的 UpgradeCode 相同。
我读到,通常 MSI 应该删除版本比现有文件新的文件并替换为新文件。当我运行以前的 MSI(将产品从 1.4 更新到 1.5 的 MSI)时,它工作得很好,正如所描述的那样。(我不确定它是用哪个版本的 Visual Studio 编译的,但我猜是用 VS2008 编译的)。
现在,当我运行 MSI 时,它似乎首先运行“安装序列”,用新的 .exe 替换旧的 .exe,然后运行“卸载序列”,擦除 .exe。当安装“完成”时,我的应用程序目录中不再有 .exe。(但是,在“添加/删除程序”面板中,该产品显示为安装在版本 1.6 中)。
(注意:我可以注意到 MSI 的“安装”部分或“卸载”部分何时运行,因为两者都有打开控制台应用程序的自定义操作,我可以在其中进行跟踪)。
经过更多研究,我将旧的 MSI 与我的 ORCA 进行了比较,我注意到 InstallExecuteSequence 表中的差异:
对于旧的 MSI,RemoveExistingProducts 的序列号是1525,介于 InstallInitialize (1500) 和 AllocateRegistrySpace (1550) 之间。 …
windows-installer setup-project visual-studio-2010 visual-studio-setup-proje
我正在创建 C# .NET WinForms 应用程序,并将安装程序创建为 Visual Studio 安装项目。
在 Windows 10 上,我可以在控制面板中删除已安装的文件。但是,在运行时,我的应用程序会创建一个包含日志文件的文件夹,卸载应用程序时不会删除此文件夹和日志文件。
如何在卸载程序时也删除这些文件?