1

我創建了一個Firefox附加組件。Firefox自動刪除配置文件夾中的xpi文件夾

現在,當我手動將它放入當前的Profiles文件夾並加載瀏覽器時,它會提示安裝。 但是,當我使用VC++可執行文件將.xpi文件複製到當前配置文件文件夾,然後重新加載瀏覽器時,它會自動刪除.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

我能找出相同。文件I/O方法沒有完全複製xpi,因爲xpi已經損壞,因此在Firefox加載時自動刪除。我使用了system()copy命令,並且能夠成功完成相同的操作。

+0

感謝您的知識分享! – Noitidart