How to delete content type menu item in .install file on module uninstall /disable I have a module that adds a content type in the .install file. When I disable the module how do I remove the content type entry from the menu?
Using a hook_uninstall() in your .module you can implement.

/**
 * Implements hook_uninstall().
 */
function YOURMODULE_uninstall() {

  // List custom content types that you want to delete
  $custom_ctypes = array(
    'blog',
  );

  // Go through each and unlock the content type
  foreach ($custom_ctypes as $ctype) {
    db_query("UPDATE {node_type} SET `custom` = 1, `locked` = 0 WHERE `type` = :ctype", array(':ctype' =&gt; $ctype));
  }

  // Clean Drupal cache; this is necessary for the "Delete" link to appear
  drupal_flush_all_caches();

}


Now you'll see the delete link on the menu and you can delete the content type. I think it's the only way you can delete the content type with fields. 

But you can try using the function below too, afaik it will not delete the content fields:

/**
 * Implements hook_uninstall().
 */
function MYMODULE_uninstall() {
  // delete the content type
  node_type_delete('CONTENT_TYPE_NAME');
  variable_del('node_preview_CONTENT_TYPE_NAME');

  // node type rebuilds
  node_types_rebuild();

  // rebuild the menus
  menu_rebuild();
}