我几天来一直面临一个问题,经过多次研究后,我找不到任何适合我的情况的东西。
事情是这样的:我正在使用 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
我正在创建一个Visual Studio安装项目.我想从安装我的组件中卸载系统中的另一个组件.另一个组件是从我自己使用Visual Studio创建的安装程序安装的.
目前,当我从组件的安装操作中调用其他组件的卸载时,我得到错误代码:1618 (another MSI already running).
有谁能建议我另一种方法来解决这个问题?
我有一个具有Installer类的Visual Studio安装项目.在安装程序类中,我设置如下设置:
MessageBox.Show(Properties.Settings.Default.MySetting);
Properties.Settings.Default.MySetting = "Foo";
Properties.Settings.Default.Save();
MessageBox.Show(Properties.Settings.Default.MySetting);
Run Code Online (Sandbox Code Playgroud)
问题是,即使我知道这个代码正在执行(我正在做其他的事情),设置永远不会设置!
消息框确实表明正在设置该值,但是当我转到.config文件时,该值仍然是空白的!
任何人有任何想法和/或可能的解决方法?
我的程序安装了Visual Studio安装项目.该程序在运行时会user.config在默认位置创建一个文件,因为我正在使用"设置".uninsalling时,如何让卸载程序删除该user.config文件?另外,如何让卸载程序删除文件夹%AppData%?
我正在尝试为Windows服务创建一个设置项目.我已经按照本教程和许多其他人喜欢它,但在安装我的服务之后,我仍然看不到该服务.我已将服务的主要输出添加到应用程序目录,并创建了一个自定义操作,以将此输出包含在Install,Commit,Rollback和Uninstall中.
它声称它安装正确.
这有用吗?还有什么我可以尝试安装它吗?
我有一个我写的VBScript需要从MSI文件执行.当我在Windows中独立运行脚本时,脚本会正确执行,但是,当我从安装程序运行它时,我会收到以下错误,如日志文件中所示:
Microsoft VBScript runtime error: object required: 'WScript', Line 3, Column 2
Run Code Online (Sandbox Code Playgroud)
脚本如下:
sub shell(cmd)
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("""" & cmd & """")
Set objShell = Nothing
end sub
set objFSO = CreateObject("Scripting.FileSystemObject")
strcmd32 = "C:\Path\PathToExecutable.exe"
strcmd64 = "C:\Path\PathToExecutable64.exe"
if (objFSO.FileExists(strcmd32)) then
shell(strcmd32)
else
shell(strcmd64)
end if
set objFSO = Nothing
Run Code Online (Sandbox Code Playgroud)
如前所述,如果我在安装程序的上下文之外运行它,则此脚本运行正常.安装项目类型是VS2010安装和部署包(这是客户希望使用的,我不能使用任何其他东西).有任何想法吗?
我正在创建一个Visual Studio安装项目.我想从安装我的组件中卸载系统中的另一个组件.另一个组件是从我自己使用Visual Studio创建的安装程序安装的.
目前,当我从组件的安装操作调用其他组件的卸载时,我得到错误代码:1618(另一个MSI已经运行).
有人可以建议另一种方法来解决这个问题吗?
我得到了一个1001错误并且使用InstallShield LE(Visual Studio 2013)在Windows XP上部署简单的Windows服务时遇到了很多问题.
有时错误发生,有时不发生.
c# windows-services setup-project installshield-le visual-studio-2013
我正在创建一个基本的.NET Core 2.0应用程序
[New]-[Project]-[.NET Core]->[ASP.NET Core Web Application (.NET Core)]-[Web Application (No Auth)]
并尝试按照以下教程添加ReactJS:(https://reactjs.net/getting-started/tutorial.html)
但是,在完成本教程时,我收到一个"InvalidOperationException"错误,指出:'无法从根提供程序解析作用域服务'React.AspNet.HttpContextLifetimeProvider + PerRequestRegistrations'.
具体来说,错误来自本教程的app.UseReact(config => ...)部分.
尽管我在国内外进行了很多搜索,但我还是空手而归,所以我在这里与大家联系.如果这里引用或已经解决了这个问题,请告诉我.
我希望我只是在这里忽略一些东西.
假设:
更新:
事实证明问题是我之前安装的React版本和Visual Studio Project声明的React版本之间存在不匹配.
解决方案是通过命令行简单地重新安装React以与项目对齐.
感谢您的帮助!
setup-project reactjs asp.net-core visual-studio-2017 asp.net-core-2.0
我有一个带有安装项目的.NET Console应用程序,我试图移植到VSTS Online(visualstudio.com),以利用源代码控制并添加自动构建/部署。
我已经上传了很好的代码,并且它的构建很棒,但是正在努力使其生成MSI。我已经尝试在解决方案构建后引入命令行任务来运行devenv.com,但我无法完全正常工作。关于获取设置项目以构建其MSI的任何想法?
谢谢!
编辑:
这是我尝试的命令行任务:
Tool: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv
Arguments: SolutionName.sln /Build $(BuildConfiguration) /Project Setup\Setup.vdproj
Run Code Online (Sandbox Code Playgroud)
编辑2:
新命令行:
Tool: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com
Arguments: MySolution.sln /Build $(BuildConfiguration) /Project Setup\Setup.vdproj
Run Code Online (Sandbox Code Playgroud)
日志:
2017-10-04T17:58:48.7033117Z ##[command]"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com" MySolution.sln /Build release /Project Setup\Setup.vdproj
2017-10-04T17:59:12.1156461Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1196471Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1196471Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1196471Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1206475Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1206475Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1206475Z microsoft.visualstudio.extensionmanager.implementation.dll
2017-10-04T17:59:46.2231714Z
2017-10-04T17:59:46.2231714Z Microsoft Visual Studio 2017 Version 15.0.26730.3.
2017-10-04T17:59:46.2231714Z Copyright (C) Microsoft Corp. All rights reserved.
2017-10-04T17:59:46.2231714Z
2017-10-04T17:59:46.2231714Z Some errors …Run Code Online (Sandbox Code Playgroud) setup-project ×10
c# ×3
appsettings ×1
asp.net-core ×1
azure-devops ×1
reactjs ×1
uninstall ×1
vbscript ×1