zoukankan      html  css  js  c++  java
  • 如何调试Data Designer Extensibility (DDEX)

    最近在开发DDEX发现没有办法调试.问了好多个地方都没有答案....

    终于让我找到调试的方法了.现在发出来和大家分享一下...

    首先:在调试里选择启动外部程序    例:C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe 

    然后:在生事件里的后期生成事件里加上:"$(ProjectDir)\Install.cmd" /regroot SOFTWARE\Microsoft\VisualStudio\9.0 /codebase "$(TargetDir)$(TargetFileName)" 

    这个Cmd会用动两个文件一个就是注册DDEX的注册表文件一个是VBS文件

    Cmd文件内容为:


    @ECHO OFF
    SETLOCAL

    ECHO Oscar.DDEX Installation

    SET MYDIR=%~dp0
    SET RANU=No
    SET REGROOT=SOFTWARE\Microsoft\VisualStudio\10.0Exp
    SET CODEBASE=

    :ParseCmdLine

    IF "%1"=="" GOTO Main
    IF "%1"=="/ranu" SET RANU=Yes& GOTO NextCmdLine
    IF "%1"=="/regroot" IF NOT "%~2"=="" SET REGROOT=%~2SHIFT & GOTO NextCmdLine
    IF "%1"=="/codebase" IF NOT "%~2"=="" SET CODEBASE=%~f2& SHIFT & GOTO NextCmdLine
    IF "%1"=="/?" GOTO Help
    GOTO Help

    :NextCmdLine

    SHIFT
    GOTO ParseCmdLine

    :Main

    IF "%CODEBASE%"=="" GOTO Help

    ECHO   Register as Normal User: %RANU%
    ECHO   VS Registry Root: %REGROOT%
    ECHO   Code base: %CODEBASE%

    IF NOT EXIST "%CODEBASE%" (
      
    ECHO The code base was not found.
      
    GOTO End
    )

    IF NOT EXIST "%SystemRoot%\SysWOW64" (
      CScript 
    "%MYDIR%\Install.vbs" //NoLogo %RANU% "%REGROOT%" "%CODEBASE%" "regedit"
    ) ELSE (
      CScript 
    "%MYDIR%\Install.vbs" //NoLogo %RANU% "%REGROOT%" "%CODEBASE%" "%SystemRoot%\SysWOW64\regedit"
    )

    ECHO Done!

    GOTO End

    :Help

    ECHO   Usage: install [/ranu] [/regroot ^<regroot^>/codebase ^<codebase^> [/?]

    :End

    ENDLOCAL

    VBS文件内容为:


    Main
    Sub Main()

       
    Dim WshShell
       
    Set WshShell = WScript.CreateObject("WScript.Shell")

       
    Dim fso
       
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")

       
    Dim myDir
       myDir 
    = fso.GetParentFolderName(WScript.ScriptFullName)

       
    Dim ranu
       ranu 
    = WScript.Arguments(0)

       
    Dim regRoot
       regRoot 
    = WScript.Arguments(1)
       
    If Right(regRoot, 1= "\" Then
          regRoot 
    = Left(regRoot, Len(regRoot) - 1)
       
    End If
       
    If (ranu = "No"Then
          regRoot 
    = "HKEY_LOCAL_MACHINE\" & regRoot
       
    Else
          regRoot 
    = "HKEY_CURRENT_USER\" & regRoot & "\Configuration"
       
    End If

       
    Dim codebase
       codebase 
    = WScript.Arguments(2)

       
    Dim regFile
       
    Dim genRegFile
       
    Dim regFileContents
       
    Set regFile = fso.OpenTextFile(myDir & "\OscarDDEXProvider.reg"1)
       
    Set genRegFile = fso.CreateTextFile(myDir & "\ExtendedProvider.gen.reg"true)
       regFileContents 
    = regFile.ReadAll()
       regFileContents 
    = Replace(regFileContents, "%REGROOT%", regRoot)
       regFileContents 
    = Replace(regFileContents, "%PROVIDERGUID%""{E19DB6D1-4DB4-4598-B4FE-26BE84F7D243}")
       regFileContents 
    = Replace(regFileContents, "%CODEBASE%"Replace(codebase, "\""\\"))
       genRegFile.Write(regFileContents)
       genRegFile.Close()
       regFile.Close()

       
    Dim oExec
       
    Set oExec = WshShell.Exec(WScript.Arguments(3& " /s """ & myDir & "\ExtendedProvider.gen.reg""")
       
    Do While oExec.Status = 0
          WScript.Sleep(
    100)
       
    Loop

       fso.DeleteFile(myDir 
    & "\ExtendedProvider.gen.reg")

    End Sub
  • 相关阅读:
    生成证书时Distribution下面App Store and Ad Hoc 选项不能选择的原因及解决办法
    ios 实现版本更新检查
    ios 同步Get请求的实现
    UI设计规范整理一iOS字体和切图及规范
    Mac下使用抓包工具--Charles进行抓包
    iOS 审核被拒
    Xcode 9 compiling IB documents for earlier than ios 7 is no longer supported
    解决JSON包含HTML标签无法显示的问题
    OC与swift相互调用
    UIApplication深入研究
  • 原文地址:https://www.cnblogs.com/guozk/p/2105454.html
Copyright © 2011-2022 走看看