在导入我的powershell模块之前(MyModule.psm1),我已经写了一个函数:
Function T1()
{
Write-Host "T1 is just called" -ForegroundColor red
}
Run Code Online (Sandbox Code Playgroud)
在我的MyModule.psd1:
@{
PowerShellVersion = '2.0'
PowerShellHostName = ''
PowerShellHostVersion = '2.0'
RequiredModules = @()
ScriptsToProcess = @()
NestedModules = @()
FunctionsToExport = '*'
CmdletsToExport = '*'
VariablesToExport = '*'
ModuleList = @()
FileList = @()
}
Run Code Online (Sandbox Code Playgroud)
这是导入正常,当我复制两个文件时:
C:\Users\fwaheed\Documents\WindowsPowerShell\Modules\MyModule
我可以T1在我的PowerShell会话中运行.但现在我想在同一个模块中添加一个新功能,即:
Function T2()
{
Write-Host "Its now T2.." -ForegroundColor red
}
Run Code Online (Sandbox Code Playgroud)
即使在重新启动我的PowerShell会话后,它仍然无法识别T2,但T1仍然可以正常工作.如何编辑已导入的模块,以便立即进行更改.
我正在x64机器上搜索Microsoft Access数据库引擎的注册表项.这是我的代码:
<Property Id="MS_ADE_X64">
<RegistrySearch Id="MSADEX64_DIR" Root="HKLM" Key="SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\InstallRoot" Name="Path" Type="directory" Win64="yes" >
<DirectorySearch Id="MSADE_DIR" Path="[MSADEX64_DIR]" >
<FileSearch Id ="ACECORE_DLL" Name ="ACECORE.DLL" />
</DirectorySearch>
</RegistrySearch>
</Property>
<Condition Message="This application requires Microsoft Access Database Engine (X64). Please install the Microsoft Access Database Engine (X64) then run this installer again.">
<![CDATA[Installed OR MS_ADE_X64]]>
</Condition>
Run Code Online (Sandbox Code Playgroud)
现在,用户将看到一条消息,安装将退出.
问题:如何阻止安装终止并向用户显示ha警告消息,安装是否会继续?
谢谢和最好的问候.
我开始玩Managed Boostrapper类和事件.简而言之,我添加了BoostrapperCore.dll,它会给你命名空间
Microsoft.Tools.WindowsInstallerXml.Bootstrapper
我能够从不同博客中的一些示例中获得一些信息.例如,入口点是BootstrapperApplication.Run(),在bootstrapper应用程序准备好运行时被调用.
然后有一些事件,如:
BoostrapperApplication.DetectBegin
BoostrapperApplication.DetectPackageBegin
BoostrapperApplication.DetectForward
Run Code Online (Sandbox Code Playgroud)
等等......
问题:是否有任何精确的文档/在线帮助,提供Microsoft.Tools.WindowsInstallerXml.Bootstrapper命名空间中的事件和方法的详细信息和顺序?
这肯定会节省很多时间......
问候
是否可以更改Write-Progress配色方案和其他UI内容,例如进度条?
目前,它的浅绿色带有由"O"组成的进度条......我想改变颜色(或删除颜色)并用其他东西替换"O".
我有一个脚本用于从命令提示符通过Microsoft Outlook发送邮件.如果我从PowerShell或ISE控制台内部运行它,这可以正常工作.但是当我尝试从经典Windows命令提示符(cmd.exe)执行相同操作时,即使具有管理员权限,也无法创建Outlook COM对象.这是创建COM对象的行:
$objOutLook = New-Object -com Outlook.Application
Run Code Online (Sandbox Code Playgroud)
这是我从cmd.exe(管理权限)调用我的脚本的方法:
D:> powershell D:\ MiscBuildTasks.ps1 -sendmail -MailTo'astrukh@MyMail.com'
这是错误日志:
New-Object:检索具有CLSID {0006F03A-0000-0000-C000-000000000046}的组件的COM类工厂由于以下错误而失败:80080005服务器执行失败(HRESULT异常:0x80080005(CO_E_SERVER_EXEC_FAILURE)).在D:\ MiscBuildTasks.ps1:81 char:12 + $ Outlook = New-Object -ComObject Outlook.Application + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ + CategoryInfo:ResourceUnavailable:(:) [New-Object],COMException + FullyQualifiedErrorId:NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand
如何从cmd.exe(Windows命令提示符)使其工作? 谢谢
我相信这个问题可能在我之前被问过,但不知何故,我找不到合适的答案.
我可能必须编写自己的托管引导程序.但是直到现在,在我得到的示例中,引导程序也在自行安装并出现在Add-Remove程序中而不是我的产品中.
问题:我们可以让bootstrapper只安装我们的产品和必备的应用程序而不是自行安装吗?
问候
我正在使用 MEF 开发 Visual Studio 2013 扩展,同时尝试读取 Active Document 内容类型和代码。目前,它仅在编辑器中打开文档/项目项时读取。一旦打开它们,每当我们在打开的文档选项卡之间切换时,它就不会再次读取它们。
要求:我希望此扩展能够读取当前活动文档的内容类型和代码文本。
更新:
问题:我知道,使用 EnvDTE80.DTE2.ActiveWindow,我可以获得当前聚焦的文档,但我在这里很困惑如何调用此代码来读取当前活动文档/窗口的内容?假设我们有 10 个文档,则活动文档(获得当前焦点)需要由 this 扩展读取。这里,只有当我们打开一个新文档或创建文本视图之前关闭的文档时,才会调用 VsTextViewCreated 。它不会被调用已经打开的文档(即已经创建的文本视图),因此当我们将焦点移到其他已经打开的文档上时,我们将无法获得更新的 wpfTextView 对象。我很困惑如何使用 DTE2.ActiveDocument 或 DTE2.ActiveWindow 事件处理程序来调用它。
问题:
在 MEF 中这是否可能,而不使用 DTE?
VS 编辑器中是否存在处理 TextView 的接口?
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.VisualStudio.Text.Tagging;
using Microsoft.VisualStudio.Text.Editor;
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.Utilities;
using Microsoft.VisualStudio.Editor;
using Microsoft.VisualStudio.TextManager.Interop;
using Microsoft.VisualStudio.OLE.Interop;
using System.Diagnostics;
namespace VSIXProject_Test
{
[Export(typeof(IVsTextViewCreationListener))]
[ContentType("code")]
[TextViewRole(PredefinedTextViewRoles.Editable)]
class VsTextViewCreationListener : IVsTextViewCreationListener
{
[Import]
IVsEditorAdaptersFactoryService AdaptersFactory = null; …Run Code Online (Sandbox Code Playgroud) 我被要求将ver 1.0.0.0升级到1.0.0.1.默认情况下,当我使用虚拟安装程序进行测试时,如果我们更改产品代码,则1.0.0.0和1.0.0.1将并排安装.
但是如果我们执行ver 1.0.1.0(在更改产品代码时),它将进行升级.这是我的升级部分:
<Upgrade Id="{354E9DAE-EB70-4BCC-BD93-AC20ACE3F370}">
<UpgradeVersion
Maximum="$(var.ver)"
Property="DOMAJORUPGRADE"
MigrateFeatures="yes"
IncludeMinimum="yes"/>
</Upgrade>
Run Code Online (Sandbox Code Playgroud)
问题:有没有方法可以将1.0.0.0升级到1.0.0.1?
实际上,我给出了这样的场景:
在玩Bryan的TestBA Bootstrapper时,我首先安装了1.0.0.0.然后我将版本增加到1.0.0.1并记录该过程.以下是升级期间传递-uninstall -quite命令行的部分:
[2870:21C0][2014-02-24T17:46:38]i300: Apply begin
[1A44:1E54][2014-02-24T17:46:41]i360: Creating a system restore point.
[1A44:1E54][2014-02-24T17:47:15]i361: Created a system restore point.
[1A44:1E54][2014-02-24T17:47:15]i000: Caching bundle from: 'C:\Users\fwaheed\AppData\Local\Temp\{57a07296-0310-4628-971c-2da38aa09f25}\.be\BootstrapperSetup.exe' to: 'C:\ProgramData\Package Cache\{57a07296-0310-4628-971c-2da38aa09f25}\BootstrapperSetup.exe'
[1A44:1E54][2014-02-24T17:47:15]i320: Registering bundle dependency provider: {57a07296-0310-4628-971c-2da38aa09f25}, version: 1.0.0.1
[1A44:2B40][2014-02-24T17:47:16]i305: Verified acquired payload: DummyInstallationPackageId at path: C:\ProgramData\Package Cache\.unverified\DummyInstallationPackageId, moving to: C:\ProgramData\Package Cache\{F1D62AA5-E68C-4B99-A6DD-D7EAE5A1D238}v1.0.0.1\DummyInstaller.msi.
[1A44:1E54][2014-02-24T17:47:16]i323: Registering package dependency provider: {F1D62AA5-E68C-4B99-A6DD-D7EAE5A1D238}, version: 1.0.0.1, package: DummyInstallationPackageId
[1A44:1E54][2014-02-24T17:47:16]i301: Applying execute package: DummyInstallationPackageId, action: Install, path: C:\ProgramData\Package Cache\{F1D62AA5-E68C-4B99-A6DD-D7EAE5A1D238}v1.0.0.1\DummyInstaller.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7"'
[2870:21C0][2014-02-24T17:47:22]i319: Applied execute package: DummyInstallationPackageId, result: 0x0, …Run Code Online (Sandbox Code Playgroud)