如何从Visual Studio 2010安装程序运行schtasks.exe? 我有一个Visual Studio 2010解决方案,具有多个C++项目,还有一个Windows安装程序Proj.

如何从Visual Studio 2010安装程序运行schtasks.exe? 我有一个Visual Studio 2010解决方案,具有多个C++项目,还有一个Windows安装程序Proj.,windows,visual-studio-2010,installation,windows-task-scheduler,Windows,Visual Studio 2010,Installation,Windows Task Scheduler,安装程序主要用于安装部署目录、应用程序和各种快捷方式。我最不希望安装程序在Windows任务计划程序中安装几个任务 我可以从命令行运行schtask.exe,它工作正常。我想我可以将这个命令复制到安装程序中的CustomAction。但是,这不起作用,安装失败,并显示消息“此windows installer软件包有问题。无法运行此安装所需的程序…” 我已将系统文件夹添加到文件系统设置中,并在CustomActions中的Commit节点下添加了CustomAction CustomAction

安装程序主要用于安装部署目录、应用程序和各种快捷方式。我最不希望安装程序在Windows任务计划程序中安装几个任务

我可以从命令行运行schtask.exe,它工作正常。我想我可以将这个命令复制到安装程序中的CustomAction。但是,这不起作用,安装失败,并显示消息“此windows installer软件包有问题。无法运行此安装所需的程序…”

我已将系统文件夹添加到文件系统设置中,并在CustomActions中的Commit节点下添加了CustomAction

CustomAction sourcePath属性指向C:\Windows\System32\schtasks.exe,Arguments属性为“/create/tn”“WiwoCLLauncher”“/tr C:\ECS\WiwoCLLauncher.exe/sc ONSTART”

有人能提供一些关于如何从VS2010安装程序运行schtasks.exe的见解吗

CustomAction sourcePath属性指向C:\Windows\System32\schtasks.exe

这并不是你所希望的。安装项目生成器实际上会将计算机中的schtasks.exe包含到MSI文件中。并将尝试将其部署到目标计算机上。幸运的是,Windows文件系统保护功能可以防止您谋杀用户的操作系统。但确实会给您留下一个失败的安装


安装生成器没有提供足够的灵活性来阻止生成器执行此操作。从技术上讲,您可以在以后使用Orcas来编辑MSI文件(删除部署项并将自定义操作类型从2更改为34),但这会让您感到相当痛苦。只要你想继续使用VS Builder,那么就要考虑编写一个使用Surial.Stad()来运行命令的C代码,

你可以创建一个小的可执行文件,它包含在安装程序中,就像KB文章所描述的:我发现它很丑陋,但是它可能会起作用。您是否将自定义操作的
InstallClass
属性设置为“False”?或者,您可以使用任务计划程序管理的包装创建一个真正的自定义操作来计划任务@jessehouwing-是的,我已将“InstallClass”设置为“False”。我也考虑过小的可执行选项——但我只是觉得这很难看,应该有一种方法可以直接通过安装程序来实现。我认为托管包装器将需要安装.Net支持,而目前它并不需要.Net支持,因此我希望避免这种情况。我会检查两个链接,谢谢!因为它是一个托管包装,所以你可以直接从C++项目中调用非托管代码:)它们的调用都在这里:BuMeMe。我真的不想使用任何C#,因为它希望引入目标系统上其他任何东西都不需要的.Net运行时。我正在看这个C++示例:作为一个独立的应用程序,Run.VBScript或JScript也得到支持。