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
  • 相关阅读:
    【转】CUDA5/CentOS6.4
    【转】centos 6.4 samba 安装配置
    【转】Install MATLAB 2013a on CentOS 6.4 x64 with mode silent
    【转】Getting xrdp to work on CentOS 6.4
    【VLFeat】使用matlab版本计算HOG
    Unofficial Windows Binaries for Python Extension Packages
    March 06th, 2018 Week 10th Tuesday
    March 05th, 2018 Week 10th Monday
    March 04th, 2018 Week 10th Sunday
    March 03rd, 2018 Week 9th Saturday
  • 原文地址:https://www.cnblogs.com/guozk/p/2105454.html
Copyright © 2011-2022 走看看