Firefox自动从加载时删除Profiles文件夹中的xpi

时间:2015-07-13 09:53:50

标签: firefox visual-c++ firefox-addon firefox-addon-sdk browser-extension

我创建了一个Firefox附加组件。

现在,当我手动将其放入当前的Profiles文件夹并加载浏览器时,它会提示安装。 但是当我使用VC ++可执行文件将.xpi文件复制到当前的Profiles文件夹然后重新加载浏览器时,它会自动删除.xpi文件。

请指出哪里出错了。我相信通过VC ++可执行文件进行复制会引发一些问题。

以下是相同的代码:

FILE* pnReadFile = fopen(spnDirPtr->d_name, "r");

if (pnReadFile)
{
    char strDestFileName[MAX] = { 0 };                                  
    sprintf(strDestFileName, "%s\%s", arDestPath, xpi);

    FILE* pnWriteFile = fopen(strDestFileName, "w");    /*File Pointer to write in file*/

    if (pnWriteFile)
    {
        char buffer[MAX] = { 0 };    /*Buffer to store files content*/

        while (fgets(buffer, MAX, pnReadFile))
        {
            fputs(buffer, pnWriteFile);
        }
        fclose(pnWriteFile);
    }
    else
    {
        printf("\n Unable to open file %s", strDestFileName);
    }
    fclose(pnReadFile);
}

1 个答案:

答案 0 :(得分:1)

我能够弄清楚一样。文件I / O方法没有完全复制xpi,因为xpi已损坏,因此在firefox加载时自动删除。我使用了system()copy命令,并且能够成功地完成同样的操作。