2014-09-15

Error when installing windows SDK 7.1

Thực hiện install các bước như sau:

Download Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO)
http://www.microsoft.com/en-us/download/details.aspx?id=8442
  • GRMSDK_EN_DVD.iso is a version for x86 environment. 
  • GRMSDKX_EN_DVD.iso is a version for x64 environment. 
  • GRMSDKIAI_EN_DVD.iso is a version for Itanium environment.
> download GRMSDKX_EN_DVD.iso cho x64

Một số lỗi có thể tham khảo tại đây:
http://blogs.msdn.com/b/windowssdk/archive/2009/09/16/windows-7-sdk-setup-common-installation-issues-and-fixes.aspx

Một số lỗi khác:
  • Có installed Microsoft Visual Studio C++ 2010 SP1 (Visual Studio 2010 SP1).
  • Có .NET Framework 4.5/4.6 installed (Visual Studio 2012/2013)
Thực hiện:
  • Uninstall Visual Studio C++ 2010 Redist packages
  • Uninstall .NET Framework 4.5/4.6.
  • Install SDK 7.1
  • Reinstall Visual Studio C++ 2010 Redist packages
  • Reinstall .NET Framework 4.5/4.6.
Microsoft Visual Studio C++ 2010 SP1 already installed (both SDK 7.1 and VC++ 2010 SP1 installed)
> Apply the SDK 7.1 patch
Download Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1

SDK 7.1 was installed (without Microsoft Visual C++ 2010 SP1)
> Upgrade Microsoft Visual Studio 2010 to SP1

Microsoft Visual Studio 2010 Service Pack 1 (Installer)
Xem Additional Information for ISO format

Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)

2014-02-04

Create a .deb Debian package (tạo một package.deb)

Để tạo một .deb package có thể tham khảo các tài liệu

How to create Debian packages

Mình chỉ tóm tắt thôi, nó gồm các bước như sau:

  1. Tạo thư mục dạng ${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}, ví dụ your-app_0.4.5-r5_i386.

    Nếu build .deb cho Ubuntu có thể chỉ định thêm Ubuntu version ví dụ your-app_0.4.5-r5ubuntu1_i386 có nghĩa là version 1 dành cho Ubuntu build từ version 0.4.5-r5 dành cho Debian.

  2. Tạo các subdirectories cho các file sẽ install, ví dụ:
    /usr/bin ‣ your-app
    /usr/lib/nautilus/extensions-03 ‣ chứa extension cho Nautilus như libnautilus-your-app.so
    /usr/share/doc, /usr/share/man ‣ chứa file help, manual
    /usr/share/locale ‣ file ngôn ngữ, /usr/share/menu.
    /opt/your-app/logo_32.xpm

  3. Tạo thư mục DEBIAN trong package directory. Trong thư mục DEBIAN chứa các file như control, conffile, md5sums, postinst, postrm, preinst, prerm. Có thể tham khảo từ các .deb package khác bằng cách extract nội dung các .deb có sẵn. Thông thường các .deb được cache trong /var/cache/apt/archives. Để xem .deb có nội dung gì có thể dùng ar –t ví dụ

    ar -t /var/cache/apt/archives/firefox_15.0.1+build1-0ubuntu0.11.10.1_i386.deb.
    

    Để extract dùng ar –x sau đó dùng tar để xem nội dung các file nén.
    Có thể dùng tool dpkg-deb để extract nội dung file .deb, eg.

    dpkg-deb -x .../app.deb ~/workspace/app
    dpkg-deb -e .../app.deb ~/workspace/app/DEBIAN
    

  4. Nội dung file DEBIAN/control có thể giống file control của các app khác, chỉ cần chỉnh sửa 1 số field.
  5. File DEBIAN/postinst là một script sẽ run bởi dpkg –i sau khi các file trong package được extract. Post-install bắt đầu bằng
    #! /bin/sh Để bảo đảm nếu có error phát sinh, script nên return non-zero exit code bằng set –e để shell exit ngay command đầu tiên không thành công.

  6. File DEBIAN/preinst pre-install
  7. File DEBIAN/prerm pre-remove
  8. File DEBIAN/postrm post-remove
  9. Xóa tất cả các file backup *~, nhất là các file trong DEBIAN/*~

    rm -rf `find package-dir -name '*~'`
    

  10. Tạo file md5sums chứa checksum MD5 cho tất cả các file trong package bằng command

    md5sum `find . -type f | grep -v '^[.]/DEBIAN/'` > DEBIAN/md5sums
    

    Chạy command trong thư mục chứa DEBIAN.

  11. Giá trị của field Installed-Size: là số cuối cùng trong output của command du chạy trong package directory (lưu ý remove backup file). Có thể chỉ summarize kết quả với command như sau:

    du -sx --exclude DEBIAN package-dirname
    -s, --summarize   ‣display only a total for each argument
    -x, --one-file-system ‣skip directories on different file systems
    

  12. Build .deb package bằng

    fakeroot dpkg-deb –b|--build package-dir
    

  13. Kiểm tra bằng

    lintian package-name.deb
    

  14. Để install .deb package chỉ cần double click, dùng command như sau

    sudo dpkg -i package-file.deb
    

    Để uninstall dùng command

    sudo dpkg -r package-name