Windows 使用Npackd进行插件分发

Windows 使用Npackd进行插件分发,windows,batch-file,package-managers,Windows,Batch File,Package Managers,我已经建立了一个存储库,用它来分发插件。我知道,我可以使用批处理脚本将包中的所有文件移动到我想要的任何位置,但我担心我可能会意外地覆盖文件。目前,我的设置是这样的(我相信这是npackd的常见做法): 下载一个包myFile.zip 内容被提取到%PROGRAMFILES%\myPackage\myFile 批处理脚本可以选择将文件移动到其他位置 不幸的是,Npackd文档没有解释如何处理此问题的内部过程。我首先担心的是,一个文件夹myPackage已经存在,可能会被覆盖,因此它的文件会被我的I

我已经建立了一个存储库,用它来分发插件。我知道,我可以使用批处理脚本将包中的所有文件移动到我想要的任何位置,但我担心我可能会意外地覆盖文件。目前,我的设置是这样的(我相信这是npackd的常见做法):

  • 下载一个包
    myFile.zip
  • 内容被提取到
    %PROGRAMFILES%\myPackage\myFile
  • 批处理脚本可以选择将文件移动到其他位置
  • 不幸的是,Npackd文档没有解释如何处理此问题的内部过程。我首先担心的是,一个文件夹
    myPackage
    已经存在,可能会被覆盖,因此它的文件会被我的
    Install.bat
    移动。有没有办法在提取文件之前定义目标路径?由于我正在为现有软件安装插件,这将避免我的脚本移动所有文件


    实现的一种方法可能是“滥用”,但如果可能的话,我希望避免依赖性,因为我的插件存储在标准zip存档中,而Npackd可以在没有依赖性的情况下处理这些插件。

    Npackd总是在安装包版本期间创建一个新目录。通常,此目录的名称是程序包标题(例如“Firefox”)。如果此目录已存在,则版本号用作后缀(例如“Firefox-27.0.1”)。如果该目录也已存在,则会另外使用下划线和数字(例如,“Firefox-27.0.1_2”、“Firefox-27.0.1_3”等)

    没有办法精确定义软件包的安装位置。由于您可能会在每个插件中定义对主软件包的依赖关系,因此我推荐如下内容:

    <dependency package="com.mycompany.WordProcessor" versions="[5.00.2195, 6.1)">
        <variable>WP</variable>
    </dependency>
    <file path=".Npackd\Install.bat">copy spellcheck.dll "%WP%\plugins"</file>
    
    
    可湿性粉剂
    复制spellcheck.dll“%WP%\plugins”
    
    谢谢,这很管用,但我想这会让我更头疼,以免出现空目录。